迫使Maven将依赖项复制到target / lib中

如何将我的项目的运行时依赖关系复制到target/lib文件夹中?

就像现在一样,在mvn clean installtarget文件夹只包含我的项目的jar文件,但不包含运行时依赖项。


这适用于我:

<project>
  ...
  <profiles>
    <profile>
      <id>qa</id>
      <build>
        <plugins>
          <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>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>

最好的方法取决于你想要做什么:

  • 如果您想将您的依赖关系捆绑到WAR或EAR文件中,那么只需将项目的打包类型设置为EAR或WAR即可。 Maven会将依赖关系捆绑到正确的位置。
  • 如果您想创建一个包含代码以及所有依赖项的JAR文件,那么使用带有jar-with-dependencies描述符的程序集插件。 Maven将生成一个完整的JAR文件,其中包含所有类以及来自任何依赖关系的类。
  • 如果你想简单地将你的依赖关系交互地放到目标目录中,那么使用依赖插件来复制你的文件。
  • 如果你想为其他类型的处理提供依赖,那么你可能需要生成自己的插件。 有API可以获取依赖关系列表以及它们在磁盘上的位置。 你必须从那里拿...

  • mvn install dependency:copy-dependencies 
    

    适用于我在目标文件夹中创建的依赖关系目录。 喜欢它!

    链接地址: http://www.djcxy.com/p/53315.html

    上一篇: force Maven to copy dependencies into target/lib

    下一篇: WPF centered text in stretched label fixed width