2016-11-24 7 views
0

おはようございます、 Netbeansプラットフォームを使用してJavaアプリケーションを開発しました。このアプリケーションは組み込みデータベースとしてhsqldbを使用しています。パッケージとデータベースとしてhsqldb.jarを使用するために、私はラップされたライブラリとしてロードします。したがって、プロジェクトでは、ライブラリは{nbm_module_name} \ release \ modules \ extに格納され、配布ファイルには{app_name} \ modules \ extにあります。netbeansプラットフォームでサードパーティのライブラリを一覧表示する方法

私が望むのは、実行時にこのjarにアクセスしてデータベースとして使用する正しい方法です。

単純なJavaアプリケーション(netbeansプラットフォームなし)では、以下のコードが見つかりました。しかし、ラップされたライブラリは標準のjava.class.pathには含まれていないので、netbeansプラットフォームには使用できません。 私はリソースとしてライブラリを使用しようとしましたが、動作しません。私は同じジャーをリソースとライブラリとして2回ロードすると仮定しているので、この方法が嫌いです。 ありがとうございました。

String[] strs = System.getProperty("java.class.path").split(";"); 
    String dbUrl = ""; 
    for(String str : strs){ 
     if(str.contains("hsql")) 
      dbUrl = str; 
    } 

     Connection connection = null; 
     ResultSet resultset = null; 
     Statement statement = null; 

     Class.forName("org.hsqldb.jdbcDriver"); 
     connection = DriverManager.getConnection("jdbc:hsqldb:file:"+dbUrl, "sa", ""); 

答えて

0

ありがとう、 ありがとうございます。すべての外部jarは、 "module"フォルダーの "ext"ディレクトリーにあります。そして私が探しているのは、 "hsqldb"がユニークな名前であるjar "hsqldb.jar"です。

File file = InstalledFileLocator.getDefault().locate("modules/ext", "hsqldb", false);      

文字列dbUrl = file.getAbsolutePath()+ "/ hsqldb.jar";

関連する問題