java - 在创建可执行 jar 时指定 JVM 参数(而不是在执行 jar 时)

标签 java jar

我正在构建(不是执行!)一个包含 81K 类的可执行 jar。构建这么大的 jar 文件在构建过程中会逐渐变慢,直到抛出 java.lang.OutofMemoryException

那么 - 那么如何指定 -Xmx1024m 为构建 jar 时使用的 jvm 提供一些额外的内存空间?

注意

jar

命令不接受任何-D命令行参数。

现在我尝试设置

export JVM_OPTS=-Xmx1024m

可能有帮助 - 因为 jar 命令确实有效。但我没有明确的方法来知道它是否确实得到了应用。

最佳答案

设置JVM_OPTS确实解决了此问题

export JVM_OPTS="-Xmx2048m"
jar -cvfm myjar.jar /tmp/manifest.txt classdir/

其他答案 - 以及结束投票 - 得出的结论是,该OP是关于通过java -jar myjar.jar执行 jar 文件。

问题是 - 正如 OP 中所述 - 有数以万计的类需要包含 - 并且它压倒了默认的 JVM 设置 - 导致 OOME。我可以看到 jar 命令在最后放弃之前减慢速度。添加 JVM_OPTS 后,构建 jar 不再出现问题。

关于java - 在创建可执行 jar 时指定 JVM 参数(而不是在执行 jar 时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31852624/

相关文章:

java - 如何使用:value for list values in hibernate?

java - 为什么 java.nio.file.DirectoryStream 使用无限泛型?

java - 播放 jar 文件中的音频

java - Maven 和引用库

java - 类型不匹配 : cannot convert from AwsClientBuilder to AmazonCloudFormation

java - 将 jar 文件中的控制台值打印到 GUI

java - 如何创建 Canvas 上绘制内容的缓冲图像?

java - JDBCexecuteUpdate() 仅插入 1 行

java - Printwriter 输出(即 txt)没有任何内容,为什么?

java - 与 jar 文件相比,诊断和提高 java jnlp 的性能