我想创建一个可执行的jar,它将包括来自maven的所有jar和所需的配置文件。最好使用maven-dependency-plugin。我应该包括哪些jar文件?所有的文件都在lib文件夹,我们有安装maven后?
我该怎么开始呢?启动器类是org.codehaus.plexus.classworlds.launcher.Launcher?
谢谢。
您必须在您的pom文件中添加maven汇编插件,它应该像这样
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>org.codehaus.plexus.classworlds.launcher.Launcher</mainClass>
</manifest>
</archive>
</configuration>
<version>2.3</version>
</plugin>
我猜你确实有一个main方法定义在你的Launcher类,这将是你的应用程序的入口点。在此之后,您必须将代码打包为运行项目所需的依赖项。在终端中,参考您的项目主目录并使用
进行构建mvn assembly:assembly
将生成两个jar文件,使用jar与依赖关系来运行应用程序。现在使用
运行jarjava -jar your_jar_with_dependency.jar
您可以尝试使用maven-dependency-plugin来删除未使用的依赖项。它会生成一个html报告,告诉你声明和使用了什么,声明和没有使用什么,使用和没有声明什么。它只对清除编译时使用的那些有用,但这是一个很好的开始。此外,创建庞大的jar并不总是最好的选择,maven背后的想法是不必打包所有依赖项并分发它们,而是依赖于公共存储库来下载依赖项。