我下载了一个Maven项目,可以运行mvn安装
来构建目标helloworld。jar,它依赖于多个第三方运行时jar。但是,我不知道如何使用Maven将这些第三方JAR自动复制到特定目录中。查看pom。xml,我发现了以下语句。因此,基本上我希望将第三方JAR复制到${project.build.directory}/lib
。要做到这一点,我应该使用哪个maven插件/短语/目标?有人能给我看一个可运行的maven语法吗?谢谢
<profile>
<id>build</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<maven.test.skip>false</maven.test.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependency-jar</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
<destFileName>
log4j.jar
</destFileName>
</artifactItem>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
<destFileName>
helloworld.jar
</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
POM文件中指定的插件的可用构建目标列表如下:
https://maven.apache.org/plugins/maven-dependency-plugin/usage.html
我怀疑您想要依赖项:复制依赖项
根据JUnit新发布的V.5.2,现在有一个BOM: JUnit BOM:为了使用Maven或Gradle简化依赖性管理,现在在org.JUnit:jUnit-BOM:5.2.0 Maven坐标下提供了一个物料清单POM。 但是有了这个IntelliJ IDEA(v.2018.1.3Ultimate x64,Maven v.3.5.3,target JDK 10.0.1)似乎不知道标记是什么,也不
问题内容: 所以快速的背景是我正在创建一个Java程序,该程序使用许多不同的导入 我知道Netbeans找不到这些文件,因为我的计算机上没有这些文件。但是有没有办法让Netbeans自动与org.apache连接并检索这些文件?还是我只需要去下载它们。有人建议使用Maven,但是我不确定这是否是正确的解决方案,或者如何解决? 谢谢 问题答案: 除非您使用Maven结构(请参见此处,Maven入门)
问题内容: 有没有一种方法可以将类型依赖项添加到我的POM并获取其所有模块? JavaMail是一个很好的例子。Maven Central Repo的父POM名为:com.sun.mail:all:1.5.0,模块包括:mail,mailapi,mailapijar,smtp,imap,gimap,pop3和dsn。 但是,“所有”人工制品只有一个文件: 是否可以将“所有”人工制品添加为对我的PO
我在父POM中声明 此外,儿童pom使用 一切正常吗?但是当我在type = pom中使用这种依赖关系时 我有错误 如何在dependencyManagement中用type = POM $ { Jboss-javaee-7.0 . version }声明一个依赖项如果我在根中带有Jboss-javaee-7.0,那么运行
我已经使用Maven在Eclipse中设置了一个动态Web项目。Web项目对其他JAR有很多依赖关系。JAR被正确地添加到Maven/Eclipse中的文件夹中。然而,许多JAR是其他普通Java项目的结果。我想让JAR在Eclipse中不时地用它们的重新定义Java项目来表示(但不是所有的JAR)。 那么,如何用Eclipse项目快速替换普通Maven依赖项JAR呢? null
最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个