我想使用JLink / JPackage来创建我开发的一个小型Groovy应用程序的可执行版本。在这个应用程序中没有元编程,我只是使用了基本的Groovy,Swing和Awt。除了java.Base和java.Desktop,我找不到在JPackage命令行中包含Groovy库所需的模块。我使用JDeps尝试识别Groovy依赖项,但它找不到任何依赖项(我不是JDepsMaven,我可能漏掉了一些参数)。任何帮助/链接/参考/例子将不胜感激。先谢了。BR,Erix.
kq4fsx7k1#
我最终能够使用JPackage将Groovy应用程序打包为安装程序。我找到的唯一解决方案是将所有Groovy jar复制到与app.jar相同的lib文件夹中,然后逐个删除它们。我最终得到了groovy4.0.9.jar和另一个(groovydataeutil). jar。我将询问groovy开发社区,他们是否打算“模块化”Groovy,因为现在识别哪些jar包含我们使用的特性的过程真的不容易。再次感谢您的帮助。埃里克斯。顺便说一下,JPackage依赖于Wix3(不支持Wix 4.0),而Wix3又依赖于一个非常旧的.NET框架版本。他们也应该升级他们的东西。
waxmsbnn2#
我有一个jar文件,当我运行jdeps时,我会得到这样的结果:
$ jdeps build/libs/nrcs-1.0.0.jar com.example.nrcs -> java.lang.ref java.base com.example.nrcs -> java.util java.base com.example.nrcs -> org.codehaus.groovy.reflection not found com.example.nrcs -> org.codehaus.groovy.runtime not found ....
前两行表示我需要来自JRE的java.base,另外两行是不源自JRE的依赖项,因为它们来自groovy-all.jar,也需要打包到我的jar中。我的jar不是一个uber/shadowjar,所以它不包含所需的jar,这可能就是为什么jdeps不能显示origin,因此'not found'。注意:Java模块来自版本9,所以如果你使用的是用java 8或更早版本编译的包,jdeps不能帮助你解决依赖关系。
java.base
groovy-all.jar
jdeps
2条答案
按热度按时间kq4fsx7k1#
我最终能够使用JPackage将Groovy应用程序打包为安装程序。我找到的唯一解决方案是将所有Groovy jar复制到与app.jar相同的lib文件夹中,然后逐个删除它们。我最终得到了groovy4.0.9.jar和另一个(groovydataeutil). jar。
我将询问groovy开发社区,他们是否打算“模块化”Groovy,因为现在识别哪些jar包含我们使用的特性的过程真的不容易。再次感谢您的帮助。埃里克斯。
顺便说一下,JPackage依赖于Wix3(不支持Wix 4.0),而Wix3又依赖于一个非常旧的.NET框架版本。他们也应该升级他们的东西。
waxmsbnn2#
我有一个jar文件,当我运行jdeps时,我会得到这样的结果:
前两行表示我需要来自JRE的
java.base
,另外两行是不源自JRE的依赖项,因为它们来自groovy-all.jar
,也需要打包到我的jar中。我的jar不是一个uber/shadowjar,所以它不包含所需的jar,这可能就是为什么jdeps
不能显示origin,因此'not found'。注意:Java模块来自版本9,所以如果你使用的是用java 8或更早版本编译的包,
jdeps
不能帮助你解决依赖关系。