how2j.cn

下载区
文件名 文件大小
parentMavenProject.rar 15k
步骤 1 : 父子-聚合项目   
步骤 2 : 新建项目   
步骤 3 : 选择maven项目   
步骤 4 : 项目参数   
步骤 5 : maven设置   
步骤 6 : 项目位置   
步骤 7 : 修改pom.xml   
步骤 8 : 创建子项目   
步骤 9 : 选择简单项目   
步骤 10 : 项目参数   
步骤 11 : maven设置   
步骤 12 : 项目目录   
步骤 13 : TestHutool   
步骤 14 : 子项目的pom.xml   
步骤 15 : 父项目的pom.xml   
步骤 16 : 项目结构   
步骤 17 : 可运行项目   

步骤 1 :

父子-聚合项目

edit
通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。
这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的jar包共享。
所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。
新建项目
步骤 3 :

选择maven项目

edit
1. 左边选择Maven
2. 勾选Create from archetype
3. 选择org.apache.maven.archetypes:maven-archetype-quickstart
4. Next
选择maven项目
输入如图所示项目参数
项目参数
经过上个知识点的IDEA设置设置后,就可以看到如图所示的maven设置
maven设置
如图所示,然后点 Finish
项目位置
idea 自动生成的 pom.xml 有一大堆东西,很多都用不着。 修改为如下的内容。
1. 默认是 jar, 修改为pom。 这样才可以作为父项目存在。

<packaging>pom</packaging>

2. 增加 hutool jar 和 junit 包的依赖,用于后来子项目里观察对其的调用。
<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>cn.how2j</groupId> <artifactId>parentMavenProject</artifactId> <version>0.0.1-SNAPSHOT</version> <name>parentMavenProject</name> <description>parentMavenProject</description> <packaging>pom</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.3.1</version> </dependency> </dependencies> </project>
所谓的子项目,其实是maven module.
右键点击 parentMavenProject->New->Module.
创建子项目
步骤 9 :

选择简单项目

edit
1. 左边选择Maven
2. 勾选Create from archetype
3. 选择org.apache.maven.archetypes:maven-archetype-quickstart
4. Next
选择简单项目
输入ArtifactId: childMavenProject
项目参数
接着是一样的 maven 设置
maven设置
如图所示,然后点击 Finish。
项目目录
在 childMavenProject 下新建 TestHutool类,并运行。
可以发现,是可以使用 hutool jar 里的类的。 这说明子项目,能够使用 父项目中的 jar 包了。
TestHutool
package childMavenProject; import java.util.Date; import cn.hutool.core.date.DateUtil; public class TestHutool { public static void main(String[] args) { String dateStr = "2012-12-12 12:12:12"; Date date = DateUtil.parse(dateStr); System.out.println(date); } }
package childMavenProject;
 
import java.util.Date;
 
import cn.hutool.core.date.DateUtil;
  
public class TestHutool {
  
    public static void main(String[] args) {
        String dateStr = "2012-12-12 12:12:12";
        Date date = DateUtil.parse(dateStr);
        System.out.println(date);
    }
}
步骤 14 :

子项目的pom.xml

edit
观察子项目的 pom.xml ,可以发现它多了个 parent, 这个就是对父项目的依赖。

<parent>
<artifactId>parentMavenProject</artifactId>
<groupId>cn.how2j</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
子项目的pom.xml
步骤 15 :

父项目的pom.xml

edit
此时再打开父项目的 pom.xml ,可以发现它多了这么一个模块s, 就表示对子项目的关联。

<modules>
<module>childMavenProject</module>
</modules>
父项目的pom.xml
观察目录结构,可以发现 childMavenProject 是位于 parentMavenProject下面的。 所以如果将来有 childMavenProject1, childMavenProject2, childMavenProject3 也会放在这么一个目录下,就方便管理了。
项目结构
在右上角有本知识点对应的可运行项目下载 ,实在自己搞不出来,就下载解压出来比较一下。


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-12-28 步骤9不选quick-start,子类的pom中才会有parent标签
lt6868688

相反,如果选了,pom中就没有了parent标签







回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2021-11-26 没有找到hotool包
2078918033hjg




没有找到hotool包
加载中

							

							


1 个答案

mao123_123
答案时间:2022-02-15
没有添加maven依赖



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-03-06 记录,子项目pom报错Could not find artifact cn.cyj:springcloud:pom:1.0-SNAPSHOT
2020-12-04 创建Maven项目后没有src包
2020-09-15 步骤13中可能不能run文件的问题


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 7 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 工具和中间件-Intellij IDEA-父子项目 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图