我正在使用 sts 编写一些应用程序。现在我需要做的是从这个项目创建 jar 文件。但我不想使用 eclipse 选项导出。当我使用 jenkins 部署我的主(服务器)应用程序时,我需要编写将构建它的脚本。
所以我需要编写将构建 jar 文件的脚本,并且真的不知道如何做到这一点。不知道如何获取我添加到 pom 文件的所有罐子。如果没有这个,我就无法使用 javac 构建 jar。
我试图找到这个问题的答案,但没有成功。
请帮忙。
您可以使用 maven-shade-plugin 插件。这是我用于基于 Spring、Hibernate、Maven 的项目之一。
将此添加到您的插件列表中,这将在您构建项目时在目标文件夹中构建一个 jar 文件,即包阶段。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>your-jar-filename</finalName>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.project.main.Main</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>