maven父子聚合项目,以及文件夹下创建多个项目提交到源码仓库中

来自javaweb中的javaweb中的软件工程领域,软件构建maven。


关于maven中的parent聚合一直都有没好好总结,固有这篇.

----------------------------------------------------------------------------------- 一 maven父子聚合项目 ---------------------------------------------------------------------------------------------

创建parent聚合项目有什么好处?

1.方便对子模块项目之间的管理

2.方便对子模块项目的打包,编译,运行。

3.对公共的部分可以很好的进行继承。


创建父项目,图解方式如下:

第一步 创建maven工程:


第二步:



第三步:



删除掉项目中的src下目录内容,只保留pom文件,目录如下:


至此,父工程项目创建完成。






创建子项目,图解方式如下:

第一步 选中该父项目,选中下图红色模块中的内容:



第二步 创建模块名称:



第三步 创建所需的maven工程next finash:



至此子项目也创建完成,此时父项目的结构如下:




分析pom文件的内容:

1.父项目中的pom文件

<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>com.lgy</groupId>
	<artifactId>parent-DEMO</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	
	
	<modules>
		<module>modulC</module>
		<module>modulD</module>
	</modules>
</project>


2.子项目中的pom

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.lgy</groupId>
		<artifactId>parent-DEMO</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	
	<groupId>com.lgy</groupId>
	<artifactId>modulC</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>modulC Maven Webapp</name>
	<url>http://maven.apache.org</url>
	
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<build>
		<finalName>modulC</finalName>
	</build>
</project>

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.lgy</groupId>
		<artifactId>parent-DEMO</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	
	<groupId>com.lgy</groupId>
	<artifactId>modulD</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>modulD Maven Webapp</name>
	<url>http://maven.apache.org</url>
	
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<build>
		<finalName>modulD</finalName>
	</build>
</project>

关于parent的属性介绍:

artifactId

父项目的artifact标识符

groupId

父项目的group标识符

version

父项目的版本

relativePath

父项目的pom.xml文件的相对路径。默认值为../pom.xml。maven首先从当前构建项目开始查找父项目的pom文件,然后从本地仓库,最有从远程仓库。RelativePath允许你选择一个不同的位置。


常见的maven操作:

1.版本属性抽取:

<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<mysql-version>5.1.21</mysql-version>
	</properties>

使用方式例如:${mysql-version}


2.获取project常见的一些属性值

                                ${project.groupId}}
				${basedir}
				${project.build.directory}
				${project.groupId}
				${project.version}

3.父子项目的内容是向上集成

        <groupId>com.lgy</groupId>
	<version>0.0.1-SNAPSHOT</version>

若子项目的groupId,version和父项目相同,可以不用写。


 一 一 一 文件下下面创多个项目 一 一 一


有的时候子项目之间并不需要父项目,紧紧只是需要一个文件夹下面放同一个类型的项目,然后将此文件夹提交到该源码管理中即可。

转自百度:

Package Explorer顶部的右侧有有机表图标按钮,

  1. 点击倒三角

  2. Top Level Elements->Working Set。此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的名字叫做other Projects,这是默认的

  3. 如果想自己建立自己的文件夹,点击倒三角,Configure Working Set,会出现弹框。

        出现弹框后,点击New按钮,就可以创建文件夹。

        在此界面,双击某一文件夹,就会进入编辑界面,可以修改文件夹名称,也可以选择将

        那个项目放置到该目录下。

        想删除,就选择remove。


Package Explorer视图如下:


创建文件夹过程就照着上面的步骤就可以了,动手试试,很简单。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值