11.7 使Maven将依赖项复制到目标/库| Java Debug 笔记

241 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>

提问:使Maven将依赖项复制到目标/库

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

现在,在mvn clean安装之后,目标文件夹仅包含我项目的jar,而不包含任何运行时依赖项。

回答1:

我是这么做的:

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

回答2:

mvn install dependency:copy-dependencies 

对我有用,它在目标文件夹中创建了依赖项目录。 点个赞再走!

最佳方法取决于您要执行的操作:

如果要将依赖项捆绑到WAR或EAR文件中,则只需将项目的打包类型设置为EAR或WAR。 Maven会将依赖项捆绑到正确的位置。 如果要创建一个包含代码以及所有依赖项的JAR文件,请使用带有jar-with-dependencies描述符的程序集插件。 Maven将使用您的所有类以及来自任何依赖项的类生成一个完整的JAR文件。 如果您想简单地以交互方式将依赖项拉入目标目录,请使用依赖项插件将文件复制到其中。 如果您想为其他类型的处理引入依赖项,则可能需要生成自己的插件。 有一些API可以获取依赖项列表及其在磁盘上的位置。 您将不得不从那里获取依赖。