首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven子项目构建失败

Maven子项目构建失败
EN

Stack Overflow用户
提问于 2015-08-01 06:21:14
回答 3查看 1.5K关注 0票数 0

数据层pom文件:

代码语言:javascript
复制
<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.ehr</groupId>
      <artifactId>parentEHR</artifactId>
      <version>0.0.1-SNAPSHOT</version>
   </parent>

   <artifactId>Data-Layer</artifactId>
   <packaging>jar</packaging>
</project>

核心层pom文件

代码语言:javascript
复制
<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.ehr</groupid>
      <artifactId>parentEHR</artifactId>
      <version>0.0.1-SNAPSHOT</version>
   </parent>

   <artifactId>Core-Layer</artifactId>
   <packaging>jar</packaging>

   <dependencies>
      <dependency>
         <groupId>com.ehr</groupId>
         <artifactId>Data-Layer</artifactId>
         <version>0.0.1-SNAPSHOT</version>
      </dependency>
   </dependencies>

</project>

错误:

未能在项目核心层上执行目标:无法解决项目com.ehr:核心层:jar:0.0.1-快照:未能在com.ehr收集依赖项:数据层:jar:0.0.1-快照:未能读取com.ehr:Data- ->帮助1的工件描述符:jar:0.0.1-快照:未能找到工件com.ehr:parentEHR:pom:0.0.1-快照帮助1

发生上述错误。

有人能帮我吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-01 06:54:54

您需要确保在父模块中定义模块(子模块),以及在它们自己的pom中定义它们的父模块。

在家长pom中:

代码语言:javascript
复制
<modules>
   <module>Core-Layer</module>
   <module>Data-Layer</module>
</modules>

然后从父文件夹中启动构建,该文件夹将按顺序(从上到下)构建模块。

票数 1
EN

Stack Overflow用户

发布于 2015-08-01 06:48:28

如果您的依赖项目构建成功,那么在构建当前项目时,maven应该在本地存储库中找到该工件(在您的例子中,是“核心层”)。

  1. 请确保使用命令“mvn”构建数据层项目,此命令使用工件更新本地存储库。
  2. 如果maven构建成功,请在本地存储库中验证工件。(通常是${current_user}.m2\repositories\com\ehr)。
  3. 如果数据层的工件在那里可用,那么maven将从那里读取它,无论何时您使用该工件id引用它。
票数 0
EN

Stack Overflow用户

发布于 2015-08-01 08:19:58

假设parentEHR是父项目和Core-LayerData-Layer是相同的子项目。每个pom.xml应该如下所示:

parentEHR - pom.xml

代码语言:javascript
复制
<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.ehr</groupId>
    <artifactId>parentEHR</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>../Data-Layer</module>
        <module>../Core-Layer</module>
    </modules>
</project>

核心层- pom.xml

代码语言:javascript
复制
<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.ehr</groupId>
    <artifactId>Core-Layer</artifactId>
    <packaging>jar</packaging>
    <parent>
        <groupId>com.ehr</groupId>
        <artifactId>parentEHR</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../parentEHR</relativePath>
    </parent>
</project>

数据层- pom.xml

代码语言:javascript
复制
<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.ehr</groupId>
    <artifactId>Data-Layer</artifactId>
    <packaging>jar</packaging>
    <parent>
        <groupId>com.ehr</groupId>
        <artifactId>parentEHR</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../parentEHR</relativePath>
    </parent>
</project>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31758956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档