我使用 Maven 创建了一个自定义 my-commons
库。 commons pom 包含以下依赖项:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/>
</parent>
<groupId>de.mydomain</groupId>
<artifactId>my-commons</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<properties>
<!-- workaround for http://jira.codehaus.org/browse/MASSEMBLY-603-->
<maven.build.timestamp>${maven.build.timestamp}</maven.build.timestamp>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
我将自定义库安装到我的本地存储库中。 在另一个项目中,我重用了该库。它正确解析,因此它存在于存储库中:
<project ...>
<groupId>de.mydomain</groupId>
<artifactId>my-core</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>my.domain</groupId>
<artifactId>my-commons</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>
现在在这个项目中我想使用一个类org.springframework.web.bind.annotation.ResponseBody
。
问题:该类不在类路径中。所以maven提示[ERROR]找不到符号
。
但为什么??我希望继承该依赖项!
旁注:如果重要的话,我正在使用 Intellij IDEA。同样的问题也适用于所有“继承”的库。 spring-web 库只是一个示例。
最佳答案
请检查.m2文件夹中是否包含您要使用的jar。您可以在commons项目中使用mvn install
命令来生成jar。此外,您还需要在正在运行的项目 pom 中添加 commons 项目。
关于java - maven中如何继承其他库的依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44716645/