我希望Maven下载并将jetty-runner.jar
依赖项放入myproject/target/dependency
文件夹。
我pom.xml
的一部分:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>copy</goal></goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-runner</artifactId>
<version>9.1.1.v20140108</version>
<destFileName>jetty-runner.jar</destFileName>
<outputDirectory>${project.build.directory}/dependency</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
但是,当我从项目目录mvn package
时,jetty-runner.jar
未复制到/target/dependency
文件夹。
当我将以下行添加到<configuration>
时,有什么用?
<id>default-cli</id>
并使用mvn dependency:copy
运行它。
我错过了什么?
答案 0 :(得分:1)
在<pluginManagement>
部分中配置maven-dependency-plugin时,maven将不会对其执行任何操作。您的<pluginManagement>
部分仅定义了如何调用maven-dependency-plugin进行配置。要在打包阶段实际调用插件,您需要在<plugins>
部分中定义调用。
因此,您可以将整个插件配置从<pluginManamgement>
移动到<plugins>
,也可以另外定义maven-dependency-plugin,而不需要<plugins>
中的版本和配置1}}部分:
<build>
<plugins>
<!-- no need for version or configuration since both are defined in pluginManagement -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
...
</plugins>
...
</build>