java - 我的 Maven 项目可以从依赖项内的 pom 导入依赖项吗?

标签 java maven maven-3 maven-plugin dependency-management

我有一个 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>

有什么办法可以做到这一点吗?还是我的问题全错了?

最佳答案

MyProject 可以使用 MyDependency 中的依赖项。 Maven 自动解决传递依赖关系。您不需要进行任何复制。您可以使用 mvn dependency:list 查看项目使用的 Artifact 的完整列表。

关于java - 我的 Maven 项目可以从依赖项内的 pom 导入依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017106/

相关文章:

java - 找不到 XML 模式命名空间 http ://www. springframework.org/schema/data/jpa 的 Spring NamespaceHandler

java - 让 Maven 执行程序并将输出存储到可在 .jar list 中使用的属性中

maven-2 - 为什么Maven 3放弃支持应用程序的$ version声明?

java - 通过 Swing 数据库进行实时搜索(或自动完成)

java - 无法解析相应的 jni 函数 opencv Android

java - 替换文件中所有出现的字符

java - 使用系统范围时出现 NoClassDefFoundError

java - 最长子列表算法

java - 依赖项问题 - Eclipse Java 项目

java - java.naming 到 spring.ldap.core 的模块导出错误,即使在 pom 中使用 add-export 命令?