目前我正在通过此批处理文件启动我的Slick 2D应用程序 -
java -Djava.library.path=lib -Xms512m -Xmx512m -jar myapp.jar %1
其中lib是包含LWJGL / Slick库的文件夹,myapp.jar是我的应用程序。
虽然这很简单有效,但我希望不必一直运行脚本并实际创建一个java .jar来执行此操作。
所以我的问题是,我如何将这个批处理脚本转换为Java代码?
答案 0 :(得分:2)
为什么你会想要Java代码,因为这会为你再次创建完全同样的问题 - 即运行你的启动Java程序然后启动另一个Java程序;你会和以前一样。
但是,您无需在任何情况下创建JAR。您可以将所有已编译的.class
文件填充到某处并将其设置为类路径。 JAR只不过是一个主类和一个捆绑在一起的类路径。
因此,您可以使用
代替上面的调用java ... -cp %USERPROFILE%\Java\MyApp myapp.gui.Main
或类似的东西。使用-cp
设置类路径,并在命令行而不是JAR上提供主类。
答案 1 :(得分:1)
可以通过java.lang.System.setProperty
设置任何-D命令行参数。但据我所知,内存参数无法从JVM内部设置。因此,没有办法做你想要的。
相反,您可以生成例如带有JSmooth的Windows可执行文件。这样的包装器应该能够设置所有JVM参数。但最终情况类似于剧本。你有某种包装。
答案 2 :(得分:0)
最简单的方法是使用像JarSplice这样的程序(http://ninjacave.com/jarsplice)
您可以使用所有需要的lib轻松创建jar可执行文件。它运作得很好