此bounty已结束。回答此问题可获得+50的声望奖励。奖励宽限期将在20小时后结束。lamrongol希望吸引更多人关注此问题:现在,Gradle不仅生成build.gradle,还生成settings.gradle。但是,在任何页面中都没有说明如何根据settings.gradle上的信息构建jar文件。
我想创建一个jar文件,可供java -cp .\TrendAnalyzer.jar trend_detect.Main
等命令使用。但是,我无法从settings.gradle而不是build.gradle创建jar文件。如何创建一个包含依赖项的jar文件,该文件包含include
等信息。
2条答案
按热度按时间voj3qocg1#
将com.github.johnrengelman.shadow插件添加到主模块build.jar
在settings.gradle所在的路径上运行
./gradle shadowJar
命令。在app\build\libs中,将生成app-all.jar文件,并且可以运行java -jar app-all.jar
。根据https://github.com/yukihane/stackoverflow-qa/tree/main/jaso92559
rt4zxlrg2#
要从settings.gradle创建jar文件,您可以使用Gradle中的jar任务。此任务允许您将编译的代码和任何依赖项打包到jar文件中,然后可以使用带有**-cp选项的java**命令执行该文件。
使用settings.gradle中的jar任务创建jar文件:
settings.gradle中的include语句指定trend_detect模块应包含在构建中。
在trend_detect模块的build.gradle文件中,jar任务定义为使用指定主类(trend_detect.Main)的MANIFEST.MF文件创建jar文件。jar任务中的from语句指定jar文件应包括compile配置中的所有编译代码和依赖项。
创建jar文件后,可以使用带有**-cp选项的java**命令运行该文件,如下所示:
这将使用jar文件中包含的编译代码和依赖项执行trend_detect.Main类中的**main()**方法。