Har*_*ara 26 java dependencies exception maven multi-module
我正在尝试创建一个maven多模块项目.项目创建成功,但当我尝试使用一个模块作为另一个模块的依赖项时,它会生成异常.当我使用eclipse创建模块时,我选择打包为jar,但是当创建模块时,在子pom.xml中没有提及包装标签,我手动将包装标签作为jar插入.以下是我的父母pom.xml
:
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.netsol</groupId>
<artifactId>empirecl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
-------------------------
<modules>
<module>empirecl-web</module>
<module>empirecl-dao</module>
<module>empirecl-service</module>
<module>empirecl-api</module>
</modules>
Run Code Online (Sandbox Code Playgroud)
道儿童模块:
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.netsol</groupId>
<artifactId>empirecl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>empirecl-dao</artifactId>
<packaging>jar</packaging>
<name>empirecl-dao</name>
------------------------
Run Code Online (Sandbox Code Playgroud)
服务子模块:
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.netsol</groupId>
<artifactId>empirecl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>empirecl-service</artifactId>
<packaging>jar</packaging>
<name>empirecl-service</name>
<dependencies>
<dependency>
<groupId>com.netsol</groupId>
<artifactId>empirecl-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
</dependency>
------------------------------------------
Run Code Online (Sandbox Code Playgroud)
Dao模块maven清理并安装成功,但是当我尝试使用服务模块时,它将生成以下异常:
[ERROR] Failed to execute goal on project empirecl-service: Could not resolve dependencies for project com.netsol:empirecl-service:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at com.netsol:empirecl-dao:jar:0.0.1-SNAPSHOT: Failed to read artifact descriptor for com.netsol:empirecl-dao:jar:0.0.1-SNAPSHOT: Could not find artifact com.netsol:empirecl:pom:0.0.1-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project empirecl-service: Could not resolve dependencies for project com.netsol:empirecl-service:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at com.netsol:empirecl-dao:jar:0.0.1-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
我正在尝试从网络上找到解决方案,但仍未找到解决方案.在eclipse中,当我打开Dependency Hierarchy
服务模块时,它将DAO模块显示为文件夹而不是jar.下面是Dependency Hierarchy
服务模块的屏幕截图.
dec*_*ion 26
如果有人回到这里,我认为这里的问题是首先没有安装父pom,所有这些子模块都依赖于它,因此Maven Reactor无法收集构建子模块所需的依赖项.
所以从根目录(这里D:\luna_workspace\empire_club\empirecl
)它可能只需要一个:
mvn clean install
Run Code Online (Sandbox Code Playgroud)
(旁白:<relativePath>../pom.xml</relativePath>
不是必需的,因为它是默认值).
归档时间: |
|
查看次数: |
102186 次 |
最近记录: |