0

私はこのフォーラムでこのトピックを見ましたが、これを行う方法についてより基本的な説明が必要です。

いくつかの外部ライブラリ(LWJGLとSlick)を使用してJavaでプログラムを実行しました。

だから、これは私がやったことであり、私のプログラムはとにかく開始されません、私が間違ったことをどこでしたか教えてください。

私はEclipse3.7.1を持っています

  1. 私のプロジェクトはEclipseで開かれ、Eclipseで正常に実行されます
  2. [ファイル]->[エクスポート]をクリックします
  3. Java->RunnableJARファイルを選択します
  4. ここでは、起動構成で何を選択すればよいかわかりません。ドロップダウンをクリックすると、メインクラスを選択するオプションが表示されるので、それを実行します。
  5. エクスポート先を選択します
  6. ライブラリ処理で「必要なライブラリを生成されたJARにパッケージ化する」オプションを選択します
  7. ANTスクリプトが何であるかわからないので、それを使用しません
  8. [完了]をクリックします
  9. 画像フォルダをJARファイルの生成と同じ場所にコピーします
  10. JARファイルを起動しようとすると、バックグラウンドで何かがロードされますが、何も起こらず、ウィンドウが表示されず、何も表示されません。
  11. Windowsのタスクマネージャーを確認すると、javaw.exeが実行されていることがわかります。

私は何を取りこぼしたか?

私のプログラムは、次のようなグラフィックスに画像を使用しています。

image = new Image("images/filname.png");

エクスポートする前にパスを変更する必要があるのか​​、それともこれらをロードする方法を変更する必要があるのでしょうか。

ありがとう!

4

3 に答える 3

0

jar ファイル内から取得したい場合は、それらをクラスパスに入れ、リソースとしてアクセスする必要があります。

使用するコンストラクターは、jar ファイル内を覗くことができない物理ファイルを参照します。


(編集) また、現在の作業ディレクトリがどこにあるかは保証されないことに注意してください。したがって、ご覧のとおり、相対参照は壊れる可能性があります。

于 2011-09-29T12:32:20.787 に答える
0

これを読んで、 JarSplice を使用して Eclipse プロジェクトを実行可能な jar ファイルにエクスポートする方法を学んでください。画像に関しては、クラスファイルと同じディレクトリ(jar内)に配置してから書き込むことができます

SampleClass.class.getResourceAsStream("image.png")
画像の InputStream を取得します。その後、好きなようにロードできます。

于 2012-06-29T15:55:22.283 に答える
-1

私は同じ問題を抱えていて、それを修正することができました。私がしたことは、データ フォルダー (私のリソースを含む)*.jar ファイルにコピーすることだけでした。たとえば、WinRAR を使用してこれを行うことができます。

于 2012-05-22T20:45:48.190 に答える