0

我有一个父母maven projecttwo child modules那个父母。其中一个子模块具有packaging type of jar. 这个 jar 将在另一个子模块中使用packaging type of war.

第一个孩子的 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>
      <parent>
        <groupId>com.zurel.myParent</groupId>
        <artifactId>myParent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>myFirstChild</artifactId>
      <packaging>jar</packaging>
</project>

第二个孩子的 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>
      <parent>
        <groupId>com.zurel.myParent</groupId>
        <artifactId>myParent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>myFirst</artifactId>
      <packaging>war</packaging>

    <dependencies>

            <!--other dependencies -->
            <dependency>
                 <groupId>com.zurel.myParent</groupId>
                <artifactId>myFirstChild</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
    </dependencies>
    </project>

当我尝试在第二个 maven 模块中运行 package 命令时,出现以下错误:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building myFirst 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.zurel.myParent:myFirstChild:jar:0.0.1-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.353s
[INFO] Finished at: Thu Jun 19 16:20:58 NPT 2014
[INFO] Final Memory: 5M/100M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project myFirst: Could not resolve dependencies for project com.zurel.myParent:myFirst:war:0.0.1-SNAPSHOT: Could not find artifact com.zurel.myParent:myFirstChild:jar:0.0.1-SNAPSHOT -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
4

2 回答 2

2

两个子模块的 pom 看起来都很好。但是,请确保完成以下操作:1)两个子模块都作为模块添加到父模块(聚合模块)中 2)聚合模块的包装类型为“pom”
3)在父模块上运行“mvn clean install”

示例父 pom :

http://maven.apache.org/maven-v4_0_0.xsd">

   <modelVersion>4.0.0</modelVersion>
   <groupId>org.test</groupId>
   <artifactId>myParent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>myParent</name>
    <url>http://maven.apache.org</url>

   <modules>
    <module>../FirstChild</module>
    <module>../SecondChild</module>
   </modules>

于 2014-06-19T13:15:31.140 回答
0

您缺少“第一个孩子”依赖项。
您是否在 myParent 中注册了这两个模块?顺序是“第一个孩子”先构建吗?
你执行什么命令?它应该“mvn install”

于 2014-06-19T11:28:39.930 回答