我不是为 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 确实创建脚本以执行并将必要的库打包到分发中。您可以查看脚本的输出以了解类路径的结构并创建类似的内容。
添加回答
举报
0/150
提交
取消
