`
starbhhc
  • 浏览: 654414 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

maven创建父子类项目

 
阅读更多
1、创建聚合模块
 
1)创建父模块,点击右键,选择NEW -->project-->maven-->maven Project。父类pom修改: <!--指明打包类型-->
<packaging>pom</packaging>  
 
<!--引用子类  -->
<modules>  
    <module>../ace-api</module>  
    <module>../ace-core</module>  
    <module>../ace-entity</module>
    <module>../ace-service</module>
  </modules>
 
注意:需要删除src等多余文件夹,因为聚合模块仅仅是帮助聚合其他模块构建的工具,其本身并没有实质的内容
 

2)将父模块项目中的src文件删除(可有可无,主要看个人需要)
 选中项目父模块,点击右键,选择NEW -->project-->maven-->maven Module,点击下一步,在出现的界面中输入子模块的名称,点击下一步,出现Select an Archetype界面。这时选择maven-Archetype-site-quickStart或者maven-Archetype-webapp(构建web层时使用),然后选择完成,即生成子项目。

 随后按照提示创建Maven聚合模块

 
 
 
2、创建模块(Java工程)
输入Module Name(不需要选中Create a simple project(skip archetype seletion)),点击下一步,其后创建方法与创建聚合模块相同。
Catalog选择Internal,Filter输入web,选择maven-archetype-webapp,创建Maven Web项目,随后步骤同上。
 
3.修改配置文件
 
 
子类pom修改:
<packaging>jar</packaging>
 
<parent>   
<groupId>cn.ace.parent</groupId>
<artifactId>ace-parent</artifactId>
<version>1.0</version>   
<relativePath>../ace-parent/pom.xml</relativePath>   
  </parent> 
 
<dependencies>
     
     <dependency>   
    <groupId>cn.ace.parent</groupId>
<artifactId>ace-parent</artifactId>
    <version>1.0</version>   
    </dependency> 
    
  
  
  </dependencies>
 
修改parent目录中的pom.xml文件,把<groupId>cn.ace.servie</groupId><version>1.0-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,因为groupId和version会继承system-parent中的groupId和version,packaging设置打包方式为jar
 

注意的是<relativePath>标签,如果pom的层次关系就像本例中的那样只隔一层,则可以省略这个。maven同样可以找到子pom。

子pom中引入<parent>标签后,就会从父pom继承<version>等属性了

 

4、除了jar包依赖,插件也可以通过这样的方式进行管理

<!-- parent -->
<build>
   <pluginManagement>
      <plugins>
          <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>2.1.1</version>
          </plugin>
      </plugins>
   </pluginManagement>
</build>

 

 

<!-- childA -->
<build>   
   <plugins>
      <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-source-plugin</artifactId>
      </plugin>
   </plugins>
</build>

 

如果子pom间存在引用关系,比如childA引用到了childB的jar包
<dependency>
   <groupId>com.module</groupId>
   <artifactId>childA</artifactId>       <!--加上childA的依赖-->
   <version>1.0.0</version>
</dependency>
 
 
5.所有maven的引用放在parent中,子类继承父类。
 
 
 
6.问题解析:
1.如果项目名报错,则,报错的父子类全选右键选择maven-update project,就ok。
 

2.错误描述:

SEVERE: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

 

问题解析:

Maven项目中所有依赖(jdk/jar/classes)关系都被其管理。所以如果确定项目中确实存在该包或文件(org.springframework.web.util.Log4jConfigListener),那必定是项目没有添加maven依赖所致。

解决方案:

 

ctrl+Enter 报错项目->Deployment Assembly->Add->Java buid path entries->Next->Maven Dependencies

Clear!

此时Servers模块中的相关项目模块下多了个字节点spring-web-3.2.3.RELEASE.jar(web.xml中配置的Log4jConfigListener类所在的包)

 

 
 
 
 
 
 
 
 
 
 
 
分享到:
评论

相关推荐

    maven创建父子结构工程

    本篇文章将详细讲解如何使用Maven创建父子结构工程,以便于更好地组织和管理大型项目。 首先,理解Maven的父子结构(多模块项目)是至关重要的。在大型项目中,通常会将项目划分为多个子模块,每个子模块负责不同的...

    使用Maven建立父子项目

    本篇文章将深入探讨如何使用 Maven 建立父子项目,帮助开发者更高效地管理工作流。 一、Maven 父子项目概念 在 Maven 中,父子项目结构允许我们定义共享的配置,如插件、依赖、构建过程等,这些配置可以被所有子...

    maven 简单的父子项目例子

    本示例是一个"Maven 简单的父子项目例子",旨在展示如何通过Maven的多模块(multi-module)结构来组织和构建一个包含多个子项目的工程。 在这个例子中,项目名为 "test",它包含了三个子模块:jar a、war b 和 war ...

    SpringBoot+maven构建Web项目(Maven父子工程)

    本文将详细介绍如何使用SpringBoot和Maven构建一个Web项目,并通过父子工程的方式来组织项目结构。 首先,理解Maven的父子工程结构至关重要。在大型项目中,通常会采用多模块的架构,以便于代码的管理和维护。父子...

    maven父子结构demo

    6. **最佳实践**:在创建父子结构时,应注意避免过于复杂的依赖关系,保持模块间的低耦合性。另外,合理划分模块,确保每个模块都有明确的职责,有助于项目的长期维护。 总的来说,"maven父子结构demo"是一个很好的...

    简单的maven父子依赖的sample

    本示例“简单的maven父子依赖的sample”旨在介绍如何在Maven项目中设置父子模块间的依赖关系,以便更好地组织和管理大型项目。 在Maven中,父子依赖(也称为多模块项目)是一种结构,其中一个项目作为父项目,包含...

    Maven创建Java工程

    ### Maven创建Java工程项目详解 Maven作为Java世界中广受欢迎的构建工具,其强大的功能不仅限于项目的构建,还涵盖了依赖管理、项目信息管理和构建生命周期等多个方面。通过Maven,开发者能够高效地创建、构建和...

    如何使用eclipse搭建maven多module项目(构建父子项目)

    使用Eclipse搭建Maven多模块项目(构建父子项目) Maven是一款流行的Java项目管理和构建工具,Eclipse是最流行的Java集成开发环境(IDE)。在实际项目中,通常会使用Maven来管理项目的依赖关系和构建过程,而...

    maven创建多模块web项目.docx

    在本文中,我们将深入探讨如何使用Maven创建一个多模块的Web项目,以及Maven的标准项目结构。Maven是一个强大的构建工具,它可以帮助开发者管理和构建Java项目。通过遵循Maven的标准项目对象模型(POM),我们可以...

    maven管理的web项目

    5. **模块化项目**:大型Web项目通常采用多模块结构,Maven支持父子POM结构,使得共享配置变得简单。子模块继承父模块的POM,可以共享一些公共的依赖和配置。 6. **环境配置**:Maven可以通过`settings.xml`文件...

    idea--9.maven父子项目改造dubbo

    【标题】"idea--9.maven父子项目改造dubbo" 涉及的知识点主要集中在Maven的多模块项目管理和Dubbo服务治理上。Maven是一个强大的项目管理工具,它允许开发者通过定义项目对象模型(POM)来管理项目的构建、报告和...

    maven构建多模块项目

    总结来说,Maven构建多模块项目能够帮助开发者有效地组织大型项目,通过父子项目结构和依赖管理,实现模块间的解耦和协同开发。"simple-parent"项目就是一个典型的例子,它展示了如何创建和管理一个包含多个子模块的...

    Maven构建多模块项目

    创建多模块项目的第一步是建立父pom.xml文件。在`demo-parent`目录下,你会看到一个pom.xml,这里定义了项目的基本信息,比如groupId、artifactId(在这个例子中可能是`com.example.demo`和`demo-parent`),以及...

    基于Maven、Dubbo、Zookeeper、Spring和父子工程之间调用的新手项目搭建

    本文将详细介绍如何基于Maven、Dubbo、Zookeeper以及Spring框架搭建一个新手友好的父子工程调用项目。 首先,Maven是Java开发中的项目管理工具,它通过引入依赖管理和项目生命周期的概念,使得项目的构建和维护变得...

    使用ECLIPSE创建MAVEN工程图解

    使用ECLIPSE创建MAVEN工程图解 Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE), Maven 是一个基于项目对象模型(POM)的项目管理工具。本文将指导您如何使用Eclipse 创建 Maven 工程,并了解 Maven 的...

    Java gradle创建聚合项目(父子级项目)

    在Java开发中,构建工具的重要性不言而喻,Gradle...总的来说,通过Gradle创建父子级项目,可以帮助我们有效地管理大型Java项目,提高开发效率。理解并熟练掌握这种构建方式,对于任何Java开发者来说都是非常有价值的。

    Maven Book (ZH)_ Maven权威指南.pdf

    - **多模块结构**: Maven支持将大型项目拆分为多个子项目,每个子项目都是独立的Maven项目。 - **父子模块**: 通过设置父子模块关系,可以实现依赖和配置的共享。 通过以上知识点的学习和实践,你可以更好地理解和...

    apache-maven-3.6.1.zip

    Apache Maven 是一个强大的Java项目管理工具,它基于项目对象模型(Project Object Model,简称POM)的概念,使得构建、依赖管理和...安装完成后,开发者可以创建自己的Maven项目,编写POM文件,享受Maven带来的便捷。

    Maven多模块之父子关系的创建

    在Maven多模块项目中,父子关系的创建是非常重要的。父模块是所有子模块的依赖管理器,负责管理所有子模块的依赖关系。子模块则继承父模块的依赖关系,并可以根据需要选择所需的依赖。 创建父模块和子模块的步骤...

    Maven学习书籍

    1. **初始化项目**:使用`mvn archetype:create`命令可以快速创建一个新的Maven项目结构。 2. **构建项目**:`mvn clean compile`执行清理、编译任务,`mvn install`则会完成编译、测试并把项目安装到本地仓库。 3. ...

Global site tag (gtag.js) - Google Analytics