来自Eclipse,maven,spring项目的jar

时间:2013-08-04 14:55:11

标签: java spring maven jar

我正在使用sts编写一些应用程序。现在我需要做的是从这个项目创建jar文件。但我不想使用eclipse选项导出。当我使用jenkins部署我的主(服务器)应用程序时,我需要编写将构建它的脚本。

所以我需要编写将构建jar文件的脚本,并且真的不知道如何做到这一点。不知道如何获得我添加到pom文件的所有罐子。没有这个,我无法使用javac构建jar。

我试图在这个问题上找到答案,但没有成功。

请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用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>