为了账号安全,请及时绑定邮箱和手机立即绑定

Gradle:使用依赖库创建不可执行的 jar 和可执行的 shell 脚本作为包分发

Gradle:使用依赖库创建不可执行的 jar 和可执行的 shell 脚本作为包分发

侃侃无极 2022-07-27 20:25:58
我不是为 java 程序创建胖可执行 jar 的忠实粉丝,因为当我有来自同一个项目的多个可执行程序时,它会产生巨大的开销。我希望能够创建一个类似库的 jar 并创建相应的 .sh 脚本,这些脚本几乎具有以下结构:java -cp classpath_libs main_class program_args...或任何其他可执行文件,我可以根据我的需要对其进行自定义,但以类似的方式(例如:)hadoop jar project_jar main_class classpath_libs program_args。这可以在gradle中实现吗?如果是这样,如何?请注意,我需要使用单个项目中的不同主类创建多个脚本。这里的关键要求是能够使用最终完全解析的类路径字符串。更新:我已经看到了使用应用程序插件的示例,但它创建了一个可执行 jar,其中包含了依赖库。这不是我要找的。
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

据我发现,似乎没有插件可以直接处理这个问题。因此,我使用了java-library插件,使用了configurations.runtime类路径值并创建了必要的脚本和复制任务,以将必要的库复制到必要的目录中。对于任何有兴趣的人,您也可以尝试插件中的distZip选项,application其中 gradle 确实创建脚本以执行并将必要的库打包到分发中。您可以查看脚本的输出以了解类路径的结构并创建类似的内容。



查看完整回答
反对 回复 2022-07-27
  • 1 回答
  • 0 关注
  • 279 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号