项目构建之maven篇:2.HelloWorld项目构建过程

本文深入解析Maven项目构建生命周期,从清理、编译、测试、打包到执行和部署的全过程,通过实例展示了如何使用POM文件进行项目配置,并详细介绍了如何执行各个阶段的任务,最终实现项目的成功构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件结构说明:





项目构建生命周期:


清理

编译

測试

打包

执行

部署


清理与编译


hello\pom.xml


POM:Project Object Model,项目对象模型

pom.xml与ant的build.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>
	<groupId>com.demo.hello</groupId>
	<artifactId>hello-world</artifactId>
	<version>1.0.0-SNAPSHOT</version>	
	<name>hello</name>
</project>

说明:


modelVersion:指定当前POM模型的版本号,Maven2及Maven3仅仅能是4.0.0

groupId:项目组名称

artifactId:当前Maven项目在组中的唯一的id

version:版本号


hello\src\main\java下的Hello.java

package com.demo ;
public class Hello {
	public void sayHi(){
		System.out.println("hello world");
	}
	public static void main(String [] args){
		new Hello().sayHi();
	}
}

执行清理及编译命令:


进入hello的目录路径,执行

mvn clean compile

执行结果





查看target目录的内容






查看本地仓库






測试:


hello\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>
	<groupId>com.demo.hello</groupId>
	<artifactId>hello-world</artifactId>
	<version>1.0.0-SNAPSHOT</version>	
	<name>hello</name>
	<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

	  <dependencies>
		<dependency>
		  <groupId>junit</groupId>
		  <artifactId>junit</artifactId>
		  <version>4.10</version>
		  <scope>test</scope>
		</dependency>
	  </dependencies>
</project>

dependencies:指明这个项目所须要的依赖包

hello\src\test\java\HelloTest.java

package com.demo;

import org.junit.Test;


public class HelloTest {
	@Test
	public void testHello(){
		new Hello().sayHi();	
	}
}

执行測试命令

mvn clean test


查看结果





查看本地仓库





打包

执行命令


mvn clean package


查看结果






执行


又一次改造pom.xml,增加插件

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>
	<groupId>com.demo.hello</groupId>
	<artifactId>hello-world</artifactId>
	<version>1.0.0-SNAPSHOT</version>	
	<name>hello</name>
	<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

	  <dependencies>
		<dependency>
		  <groupId>junit</groupId>
		  <artifactId>junit</artifactId>
		  <version>4.10</version>
		  <scope>test</scope>
		</dependency>
	  </dependencies>

	  <build>
    <plugins>
  	  <plugin>
  	    <groupId>org.apache.maven.plugins</groupId>
  	    <artifactId>maven-compiler-plugin</artifactId>
  	    <configuration>
  	      <source>1.5</source>
  	      <target>1.5</target>
  	    </configuration>
  	  </plugin>
  	  <plugin>
  	    <groupId>org.apache.maven.plugins</groupId>
  	    <artifactId>maven-shade-plugin</artifactId>
  	    <version>1.2.1</version>
  	    <executions>
  	      <execution>
  	        <phase>package</phase>
  	        <goals>
  	          <goal>shade</goal>
  	        </goals>
  	        <configuration>
  	          <transformers>
  	            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
  	              <mainClass>com.demo.Hello</mainClass>
  	            </transformer>
  	          </transformers>
  	        </configuration>
  	      </execution>
  	    </executions>
  	  </plugin>
    </plugins>
  </build>
</project>


又一次执行打包命令:


mvn clean package


执行完成后,进入hello/target下,执行命令


java -jar hello-world-1.0.0-SNAPSHOT.jar



查看结果:





安装到本地仓库,供其他项目依赖


执行命令


mvn clean install



查看本地仓库





源码下载


转载于:https://www.cnblogs.com/mengfanrong/p/5139830.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值