2

現在、このバッチ ファイルを使用して Slick 2D アプリケーションを開始しています。

java -Djava.library.path=lib -Xms512m -Xmx512m -jar myapp.jar %1

lib は LWJGL/Slick ライブラリを含むフォルダーで、myapp.jar は私のアプリケーションです。

これは簡単で効果的ですが、常にスクリプトを実行する必要がなく、実際にこれを行うために Java .jar を作成できるようにしたいと考えています。

私の質問は、このバッチ スクリプトを Java コードに「変換」するにはどうすればよいかということです。

4

3 に答える 3

2

なぜこれにJavaコードが必要なのかは、私にはわかりません。まったく同じ問題が再び発生するためです。つまり、起動Javaプログラムを実行すると、別のJavaプログラムが開始されます。あなたは以前と同じポイントにいるでしょう。

ただし、どのような場合でも JAR を作成する必要はありません。コンパイルしたすべての.classファイルをどこかに詰め込んで、それをクラスパスとして設定できます。JAR は、メイン クラスと 1 つにバンドルされたクラスパスにすぎません。

したがって、上記の呼び出しの代わりに、次を使用できます

java ... -cp %USERPROFILE%\Java\MyApp myapp.gui.Main

またはそのようなもの。クラスパスを設定し-cp、JAR の代わりにコマンド ラインでメイン クラスを指定します。

于 2011-03-27T11:00:41.653 に答える
1

任意の -D コマンド ライン引数を 経由で設定できますjava.lang.System.setProperty。しかし、私の知る限り、JVM 内からメモリ パラメータを設定することはできません。したがって、あなたが望むことをする方法はありません。

代わりに、たとえばJSmoothを使用して Windows 実行可能ファイルを生成できます。このようなラッパーは、すべての JVM 引数を設定できる必要があります。しかし、最終的に状況はスクリプトに似ています。あなたはある種のラッパーを持っています。

于 2011-03-27T11:16:15.737 に答える
0

最も簡単な方法は、JarSplice (http://ninjacave.com/jarsplice) のようなプログラムを使用することです。

必要なすべての lib を含む jar 実行可能ファイルを簡単に作成できます。それは非常にうまく機能します

于 2012-01-29T20:25:49.387 に答える