复制Spring启动应用程序中的依赖项

时间:2016-05-10 16:19:10

标签: java spring maven spring-boot

我有弹簧启动应用程序,在maven安装期间,我希望它创建一个jar并将依赖项复制到lib文件夹中。我正在尝试使用这两个maven插件,这些插件在其他maven项目中运行良好,但在spring boot应用程序中不起作用。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
           <useDefaultManifestFile>true</useDefaultManifestFile>
           <archive>
              <manifest>
                 <addClasspath>true</addClasspath>
                 <mainClass>xxx.Main</mainClass>
                 <classpathPrefix>lib/</classpathPrefix>
              </manifest>
           </archive>
        </configuration>
     </plugin>
     <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
           <execution>
              <phase>install</phase>
              <goals>
                 <goal>copy-dependencies</goal>
              </goals>
              <configuration>
                 <outputDirectory>${project.build.directory}/lib</outputDirectory>
              </configuration>
           </execution>
        </executions>
     </plugin>

即使省略了maven-jar-plugin,也会创建jar。它并没有对maven-dependency-plugin做任何事情。所以它几乎忽略了这两个插件。

2 个答案:

答案 0 :(得分:1)

我把Spring Boot插件放在copy-dependencies之后并正常工作!

<plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

注意:我清理Maven存储库才能工作!

答案 1 :(得分:0)

我认为你应该尝试Spring boot + Gradle: Spring boot Gradle

在build.gradle文件中,您可以使用gradle copy方法自定义构建过程并将依赖项复制到lib文件夹中。