Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring引导应用程序中复制依赖项_Java_Spring_Maven_Spring Boot - Fatal编程技术网

Java 在spring引导应用程序中复制依赖项

Java 在spring引导应用程序中复制依赖项,java,spring,maven,spring-boot,Java,Spring,Maven,Spring Boot,我有一个SpringBoot应用程序,在maven安装期间,我希望它创建一个jar并将依赖项复制到一个lib文件夹中。我正在尝试使用这两个maven插件,它们在其他maven项目中运行良好,但在spring引导应用程序中不起作用 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artif

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

    <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>

org.apache.maven.plugins
maven jar插件
真的
真的
xxx.Main
解放党/
maven依赖插件
安装
复制依赖项
${project.build.directory}/lib

发生的事情是,即使省略了maven jar插件,也会创建jar。它对maven依赖插件没有任何作用。所以它几乎忽略了这两个插件。

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


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

我在复制依赖项之后放置了Spring引导插件,工作正常

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

org.springframework.boot
springbootmaven插件

注意:我清理Maven存储库来工作

你试过了吗?@安东:我没见过。看来这就是我要找的。我会试试看。非常感谢。好吧,我试过了。它仍然没有告诉我如何将依赖项复制到外部文件夹。为什么要将依赖项复制到外部文件夹?!您的jar应该包含您所需的所有内容,这样您就不必再处理其他文件夹了。还有其他团队构建的其他应用程序,它们共享许多常见的jar(Hibernate、spring等)。如果我把它们放在一个外部文件夹中,那么将来可以共享这些依赖项。