我有一个maven项目说“MyProject”使用另一个项目作为普通的maven依赖说我写的“MyDependency”。 MyDependency是一个使用其他依赖项的maven项目,例如springframework,apache-commons,apache-camel等。
问题是这个。我希望MyProject能够在MyDependency中查看传递依赖项,而无需再将它们添加到pom文件中。我尝试了maven-dependency插件和maven-jar插件来生成一个jar,如下所示,它包含其中的所有依赖项,但没有结果。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>compile</includeScope>
<outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>lib/</Class-Path>
</manifestEntries>
</archive>
<finalName>core-${project.version}</finalName>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
有没有办法做到这一点?或者我的问题都错了?
答案 0 :(得分:2)
MyProject可以使用MyDependency中的依赖项。 Maven自动解决传递依赖性。你不需要做任何复制。您可以使用mvn dependency:list
来查看项目使用的整个工件列表。