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 只不过是一个主类和一个捆绑在一起的类路径。

因此,您可以使用而不是上面的调用

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

或类似的东西。在命令行而不是 JAR 上设置类路径-cp并给出主类。

于 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) 这样的程序

您可以轻松地创建一个包含所有需要的库的 jar 可执行文件。它工作得很好

于 2012-01-29T20:25:49.387 回答