java - 使用 java 从 Maven 多模块项目创建 war 文件失败

标签 java eclipse maven maven-module

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

第一个 child 的 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>

第二个 child 的 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

最佳答案

两个子模块的 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>

关于java - 使用 java 从 Maven 多模块项目创建 war 文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24305234/

相关文章:

android - 如何避免 AndoridManifest 被 maven 覆盖

java - Maven 抛出未找到类,但正在其他开发人员环境中工作

eclipse - 在 Eclipse Helios 中使用颠覆性检查 SVN svn+ssh repo

java - Eclipse Helios 给出错误 Java 已启动但返回退出代码 -805306369

java - maven构建时如何阻止从其他存储库下载metadata.xml

java - 如何在用户指定的时间内运行线程?

java - 如何使用 JdbcTemplate 从 Spring 创建存储函数?

java - Tensorflow Lite Android 对象检测 - 移动 SSD 模型预计恰好有 4 个输出,发现有 8 个

带有注解的 Java Spring 问题

eclipse - Glassfish 服务器适配器未显示在 Eclipse 的列表中