如何从可执行的jar文件打包和启动maven



我想创建一个可执行的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与依赖关系来运行应用程序。现在使用

运行jar
java -jar your_jar_with_dependency.jar

您可以尝试使用maven-dependency-plugin来删除未使用的依赖项。它会生成一个html报告,告诉你声明和使用了什么,声明和没有使用什么,使用和没有声明什么。它只对清除编译时使用的那些有用,但这是一个很好的开始。此外,创建庞大的jar并不总是最好的选择,maven背后的想法是不必打包所有依赖项并分发它们,而是依赖于公共存储库来下载依赖项。

最新更新