2012-02-07 5 views
0

私のアプリケーションはDerbyデータベースにアクセスし、Derby.jarをプロジェクトのライブラリに追加しました。コンパイル時にうまく動作し、Netbeans環境内で完璧に動作しますが、プロジェクトをビルドすると、application.jarファイルだけがdistフォルダにあります。プログラムは引き続き実行されますが、データベースで何かしようとするとハングします。Java DB DerbyおよびNetbeans 7.1ビルドの問題

Derby.jarを含むlibフォルダをapplication.jarのホームディレクトリに追加しようとしましたが、同じ問題が発生します。

私はDerbyを初めて使いましたが、私はこれで混乱しています。

+0

どこにアプリケーションを展開するのですか、それとも単にデスクトップアプリケーションですか? –

+0

ところで - あなたは、アプリケーションで瓶が譲渡されたことを確認しましたか? netbeansでは、あなたのプロジェクトにjarを追加するボックスをチェックする必要があります。 –

+0

それはあなたが意味するものなら、私は '依存するライブラリをコピーする'チェックボックスを持っていますか?そして、それはデスクトップアプリです。 – Ross

答えて

0

これは、プロジェクトの実行可能なjarのクラスパスにプロジェクトの外部jar依存関係(Derbyのjarなど)も追加しないためです。 Basiclyは、ここで彼らのチュートリアル以下試してください。

http://netbeans.org/kb/articles/javase-deploy.html#Exercise_1

とその後1「IDEの外でアプリケーションの実行」の章。

私は長い間Netbeansを使用していませんでしたので、今ではこの機能を追加したかどうかわかりませんが、Eclipseでは、すべての外部jarがパックされた "fat"実行可能なjarを作成することもできますその実行可能なjarの内部にあり、Eclipseには特別なクラスローダーが追加されています。これは、「生成されたjarに必要なライブラリをパッケージ化する」というオプションです。たぶんネットビーンズは、エクスポート機能やそれに類するものを使って、これを行うことができます。

+0

私はチュートリアルを読みましたが、私のマニフェストファイルには以下のものしか含まれていませんが、これまでのやり方は多少あります。マニフェスト - バージョン:1.0 X-COMMENT:メインクラスがビルドによって自動的に追加されます Class-Path:マニフェストへのlib/Derby.jar? – Ross

1

上記の答え1は、アプリケーションを実行する前にまずIDEのサービスタブでデータベースに接続する必要があるという事実に対処していないため、IDEの外でアプリケーションを実行すると不可能です。

関連する問題