`
starbhhc
  • 浏览: 634515 次
  • 性别: 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创建父子结构工程

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

    本资源是Springboot+maven的项目框架搭建结果,具体搭建步骤与https://xiaoyao.blog.csdn.net/article/details/89512968内容匹配

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

    主要介绍了如何使用eclipse搭建maven多module项目(构建父子项目) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    parentAndSon.rar

    使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例...

    eclipse下gradle多模块项目构建

    这个工程代码,是在ECLIPSE下面建立的,应用Gradle作为构建工具,建立的一个多模块项目。注意不是Maven下的多模块项目。

    ad-sponsor.rar

    使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)+业务处理+controller+网关配置使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)+业务处理+controller+网关配置

    【Spark】五、Maven编写WordCount

    1.Maven工程【父子结构搭建】 打开IDEA,新建Maven Project【spark】,填写Maven的GAV 创建好maven项目之后,点击Enable Auto-Import 修改spark的pom.xml文件 pom -------------------------- src就没用了,可以...

    idea使用介绍

    设置字体编码、导入jar包idea的快捷键idea创建动态web工程(带有web.xml)idea中debug断点调试idea创建maven项目以及maven命令的使用idea中创建动态maven项目以及部署本地tomcat在idea中创建父子工程(在同一个窗口...

    maven简明课程

    本课程为maven简明课程,学习内容 1,maven概述 2,maven中涉及到概念点,项目构建,坐标,中央仓库,...4,使用maven创建web项目,集成mybatis, 5,完成maven?web工程的模块拆分,掌握maven父子工程,聚合工程的概念

    earth-frost任务调度框架-其他

    Maven: 3+ Redis: 2.8+ Spring boot: 2.x Thymeleaf: 3 功能: 1.0.0 简单易上手,支持web界面进行任务的CRUD 支持动态修改任务的开始,停止 调度中心支持集群部署,将任务的调度进行封装,支持分配各种不同的任务 ...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ 09.FastDFS工具类的使用.avi │ 10.图片上传过程分析.avi │ 11.图片上传Service.avi │ 12.图片上传完成.avi │ 13.解决火狐兼容性问题.avi │ 14.spring的父子容器.avi │ 淘淘商城第三天笔记.docx │ ├─04....

Global site tag (gtag.js) - Google Analytics