シリアル ポートを使用するプロジェクトがあり、実行するには win32.dll ファイル (Java ランタイム環境の bin フォルダーにある) と javax.comm.properties ファイル (Java ランタイム環境にある) の 2 つのファイルが必要です。 lib フォルダー)。Eclipse からプロジェクトを実行すると機能しますが、配布用の jar ファイルを作成しようとすると機能しません。これは、dll ファイルとプロパティ ファイルが jar に含まれていないためだと思われます。それらがそこにある必要があることをどのように指定しますか?
4 に答える
通常、dllファイルとプロパティファイルはjarファイル内に配置しません。プロパティファイルとその他のjarファイルをクラスパスに追加する必要があります。jarファイルには、使用されるクラスパスを定義するマニフェストファイルがあります。Eclipseでこれを編集することはできません。ant build.xmlファイルを定義し、次のようなことを行う必要があります。
<jar jarfile="${dist}/MyJar.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="MyClass"/>
<attribute name="Class-Path" value="."/>
</manifest>
</jar>
次に、プロパティファイルをjarと同じフォルダに配置します。build.xmlを右クリックし、[Run as Ant target]を選択すると、antターゲットを実行できます。
私の記憶が正しければ、dllファイルをjreのbinディレクトリに配置すると機能します。
javax.comm.properties がクラスパスにあるだけでよいと思います。配送する jar の最上位に追加することができます。
InputStream is = MainClass.class.getResourceAsStream("javax.comm.properties"); if (is == null) {プロパティがありません....}
win32.dll は %PATH%(windows) または $LD_LIBRARY_PATH(unix) に置く必要があると思います......
jar ファイルは、通常の zip ファイルです。ファイルを追加したい場合は、winzip などのツールを使用してください。
Ant を使用すると、Jar に必要なものすべてを詰め込むことができます。したがって、Eclipseではなく、AntにJarを作成させてください:)