ラベル Java の投稿を表示しています。 すべての投稿を表示
ラベル Java の投稿を表示しています。 すべての投稿を表示

2009年5月16日土曜日

Java で Berkely DB XML を操作する 第1回

Java で Berkely DB XML を扱う環境が整ったので、チュートリアル「Getting Started with Berkeley DB XML for Java(日本語訳)」を基にJavaで作ってみる。

  1. プロジェクトの作成
    dbxml_gettingstart」という名前でJavaのプロジェクトを新規作成する。
  2. ライブラリの追加
    以下のJar ファイルを追加する。
    • /opt/oracle/dbxml-2.4.16/lib/dbxml.jar
    • /opt/oracle/dbxml-2.4.16/lib/db.jar
  3. DBD XML の例外処理のソースを記述する。
    /*
    * File Name :Chapter2_1.java
    * Created on :2009/05/15, 22:13:25

    * Copyright(c) Exacteye.com All Rights Reserved.
    */

    package dbxml.chapter2;

    import com.sleepycat.dbxml.XmlContainer;
    import com.sleepycat.dbxml.XmlException;
    import com.sleepycat.dbxml.XmlManager;

    /**
    DBXML 例外の処理
    * @author obiwan
    */
    public class Chapter2_1 {

    public static void main(String[] args) throws Throwable{
    XmlContainer myConatiner = null;
    XmlManager myManager = null;
    String theContainer = "container.dbxml";

    // XmlConatiner と XmlManager のオープン
    try {
    myManager = new XmlManager();
    myConatiner = myManager.openContainer(theContainer);
    } catch (XmlException ex) {
    // ここで例外処理を実装する。
    ex.printStackTrace();
    }
    }
    }

  4. 実行させる。ソース上にある、container.dbxml は作成していないのでエラーが出るはず。
    run:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no db_java-4.6 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1030)
    at com.sleepycat.db.internal.db_javaJNI.(db_javaJNI.java:52)
    at com.sleepycat.db.internal.DbEnv.(DbEnv.java:264)
    at com.sleepycat.dbxml.XmlManager.(XmlManager.java:78)
    at com.sleepycat.dbxml.XmlManager.(XmlManager.java:102)
    at dbxml.chapter2.Chapter2_1.main(Chapter2_1.java:27)
    Java Result: 1
    構築成功 (合計時間: 1 秒)
    java.lang.UnsatisfiedLinkError: no db_java-4.6 in java.library.path」って違うエラーが出た。検索したら、「Thread: java.lang.UnsatisfiedLinkError on Mac OS X with 2.4.16」が参考になった。
    プロジェクトのプロパティを表示させ、VMオプションに「-Djava.library.path=/opt/oracle/dbxml-2.4.16/lib」を追加した。


  5. 再度、実行。
    run:
    com.sleepycat.dbxml.XmlException: Error: container.dbxml: container file not found, or not a container, errcode = CONTAINER_NOT_FOUND
    at com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_openContainer__SWIG_2(Native Method)
    at com.sleepycat.dbxml.XmlManager.openContainer(XmlManager.java:585)
    at com.sleepycat.dbxml.XmlManager.openContainer(XmlManager.java:218)
    at com.sleepycat.dbxml.XmlManager.openContainer(XmlManager.java:160)
    at dbxml.chapter2.Chapter2_1.main(Chapter2_1.java:28)
    構築成功 (合計時間: 1 秒)

    今度は想定していた、「container.dbxml」が無い例外が発生する。

2009年5月15日金曜日

Java の生成時のコメントについて

NetBeans 6.5 でJava クラスファイルの作成時、コメントは以下のように作成される。

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author dev
*/
public class NewClass {

}

自動生成するには、以下の手順で行う。
  1. ツール > テンプレート でテンプレートマネージャ画面を表示する。

  2. ライセンス グループを 開き、デフォルトライセンスを選択する。
  3. 「複製」ボタンを押し、テンプレート名を「license-exacteye.com.txt」とする。

  4. license-exacteye.com.txt」を選択し、「エディタで開く」をクリックする。
  5. テンプレートは以下のようにする。
    <#if licenseFirst??>
    ${licenseFirst}

    ${licensePrefix}File Name :${name}.java
    ${licensePrefix}Created on :${date}, ${time}
    ${licensePrefix}Copyright(c) Exacteye.com All Rights Reserved.
    <#if licenseLast??>
    ${licenseLast}

  6. ファイルを保存する。
  7. ファイル タブを選択し、「プロジェクト」> 「nbproject」> 「project.properties」を開く
  8. 最後の行に以下を追加する。
    project.license=exacteye.com
  9. 上書き保存する。
  10. 新規にJavaのクラスファイルを作成する。
    Error reading included file Templates/Classes/../Licenses/license-exacteye.com.txt
    /**
    *
    * @author dev
    */
    public class NewClass1 {

    }
ん!?エラーが出た。ライセンスファイルが見つからないらしい。

/home/【ユーザ名】/.netbeans/6.5/config/Templates/Licenses ディレクトリに license-exacteye.com.txt ファイルが無かった。作成してNetBeansを再起動した。


/*
* File Name :NewClass3.java
* Created on :2009/05/15, 20:47:52

* Copyright(c) Exacteye.com All Rights Reserved.
*/

/**
*
* @author dev
*/
public class NewClass3 {

}

今度はお〜け〜!

2009年5月12日火曜日

Ubuntu 9.04 にNetBeans 6.5 をインストールする

JDKのインストールが終わったので、開発環境のNetBeansをインストールします。
NetBeans IDE ダウンロード サイトから必要なファイルをダウンロードします。ここではJava,PHPの開発をしたいので、netbeans-6.5.1-ml-linux.sh を選択します。

  • netbeans-6.5.1-ml-linux.sh に実効権限を与えてインストールを実行します。
    $ chmod +x netbeans-6.5.1-ml-linux.sh
    $ sudo bash netbeans-6.5.1-ml-linux.sh

  • インストール先のディレクトリを /opt/sun/netbeans-6.5.1 に変更します。

  • GlassFishのインストール先のディレクトリを /opt/sun/glassfish-v2.1 に変更します。

  • GlassFish v3 Preludeのインストール先を変更します。


  • 設定が全て終了したので、インストールを開始します。

Ubuntu 9.04 にJDKをインストールする。

Ubuntu 8.04 に JDK をインストールする を参考にしてJDKをインストールします。
$ sudo apt-get install sun-java6-jdk

インストール後の確認をします。
$ java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Server VM (build 11.3-b02, mixed mode)

日本語がきちんと表示されるか確認するためにJDKのデモをインストールします。
$ sudo apt-get install sun-java6-demo

インストール後に以下のアプリを起動させます。
$ java -jar /usr/lib/jvm/java-6-sun/demo/jfc/SwingSet2/SwingSet2.jar


日本語も問題ないようだ。