0

jarアーカイブにパッケージ化されたmain関数を備えたJavaプログラムがあります。DataSource を持つ dao クラスがあります。データ ファイルへの jdbc url が予期され、引数として main 関数に渡されます。すべてがスタンドアロン アプリケーションとして機能しますが、jar ファイルとデータベースが両方とも glassfish にある場合、どのようにリンクする必要がありますか? たとえば、jnlp を glassfish の docroot ディレクトリに配置し、データが取り込まれた HSQL データベース ファイルも配置します。そのデータベースに渡す必要があるリンクは何ですか? 「C:\path」を単純に置き換えると

"http://localhost:8080\path_inside_docroot_folder"

ファイルを読み取ろうとすると、Java で EOFException が発生します。

トピック外: また、非常に奇妙です。hsql データベースを作成したときに、次のように記述します。

jdbc:hsqldb:C:\\path\db_file.dat

しかし、実際にはパスには正確に db_file.dat はありません。次のようないくつかのファイルがあります。

db_sile.dat.tmp
db_sile.dat.lck
db_sile.dat.log
db_sile.dat.properties
db_sile.dat.scrip

誰でも私の問題を解決できますか? ファイルが問題への上位の影響を言及している可能性がありますか、それとも純粋なグラスフィッシュのデプロイの問題ですか?

不明な点がある場合は、私に尋ねてください。

4

1 に答える 1

0

答えは、静的リソースのグラスフィッシュとして内部で HSQL を実行することはできないということです。Web アプリケーションをデプロイする場合、HSQL サーバーをHTTP サーバーとして、またはサーブレットとして実行できます。私の問題の解決策は、JNDI ファイルと Java jar ファイルをグラスフィッシュの静的リソースとして配置し、同じコンピューター (グラスフィッシュが実行されている場所) で HSQL サーバーを実行することです。

于 2013-10-05T17:23:41.090 に答える