[英]How to create JRE to run jar programs?
我有一个可执行jar ,我可以使用java -jar app.jar运行,但SDK 是 326MB 。 这是很多。
jlink 可以创建JRE ,但我不能使用jlink ,因为我有一个非模块化应用程序。
你能告诉我如何创建一个JRE吗?
jlink
可用于为非模块化应用程序创建“JRE”/运行时映像。 在这种情况下,它只是无法在运行时映像中自动派生应该 go 的模块。 它们必须手动指定。
例如,如果我有一个简单的app.jar
:
$ java -jar app.jar
Hello World!
然后使用java.base
jlink
:
jlink --output runtime --add-modules java.base --strip-debug --no-header-files --no-man-pages
然后我可以在运行时映像中运行 jar 和java
可执行文件:
$ ./runtime/bin/java -jar app.jar
Hello World!
运行时映像只有约 35 MB(尽管这可能因平台而异)。
jdeps
可用于了解应该使用哪些模块来创建运行时映像:
$ jdeps --print-module-deps add.jar
java.base
这将打印一个以逗号分隔的模块列表,这些模块可以作为参数直接传递给jlink
的--add-modules
选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.