Maven入门实战笔记02-基础(2)

Maven版HelloWorld

Maven目录结构



 

 

1.编写POM

目录hello-world/pom.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<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.ydc.ln.mvndemo</groupId>
	<artifactId>hello-world</artifactId>
	<version>1.0-SNAPSHOT</version>
	<name>Maven Hello World Project</name>

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

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>2.0</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>com.ydc.ln.mvn.helloworld.HelloWorld</mainClass>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

 

 

2.编写主代码

目录:hello-world/src/main/java/com/ydc/ln/mvn/helloworld/HelloWorld.java

 

package com.ydc.ln.mvn.helloworld;

public class HelloWorld
{
	public static void main(String[] args) {
		System.out.println(new HelloWorld().sayHello());
	}

	public String sayHello() {
		return "Hello Maven";
	}
}

 

 

3.编写测试代码

目录hello-world/src/test/java/com/ydc/ln/mvn/helloworld/HelloWorldTest.java

 

package com.ydc.ln.mvn.helloworld;

import static org.junit.Assert.*;

import org.junit.Test;

import com.ydc.ln.mvn.helloworld.HelloWorld;

public class HelloWorldTest {
	@Test
	public void testSayHello() {
		HelloWorld helloWorld = new HelloWorld();
		String result = helloWorld.sayHello();
		assertEquals("Hello Maven", result);
	}
}

 

4.打包和运行(相关命令)

 

mvn clean

 

mvn clean compile

 这是第一次运行时,Maven需要下载相关jar包,保存在 用户名\.m2\repository 文件夹下

 这是Maven第二次运行该命令

 

mvn clean test

 

 

mvn clean package

 

mvn clean install [-U]

 

java -jar target\hello-world-1.0-SNAPSHOT.jar



  

以下命令

--查看当前项目已解析依赖
--具体看优化依赖

mvn dependency:list

 

 

mvn dependency:tree

 

 

mvn dependency:analyze

 

 

 

 

 ------------------------------------------------

 简短总结:

解析pom.xml
modelVersion 指定了当前POM模型的版本,对于Maven2及Maven3来说,只能是4.0.0(不懂为什么)
groupId 网站+项目名,如:com.lnydc.mvndemo
artifactId 项目组中唯一ID,如: hello-world
version 版本,如: 1.0-SNAPSHOT
name 友好的项目名称,但不是必须的

dependencies 声明项目的依赖
scope 依赖范围 默认为compile,该依赖对主代码和测试代码都有效

中央仓库 http://repo1.maven.org/maven2/

maven类型
jar/pom/war


命令
mvn clean 清理输出目录target/
mvn clean compile	编译
mvn clean test 测试
mvn clean package 打包,生成jar包,命名规则:artifact-version.jar,也可以用finalName来自定义该文件的名称
mvn clean install [-U] 将项目输出的jar安装到了Maven本地仓库中,可心让本机的其它项目引用该jar包
java -jar target\hello-world-1.0-SNAPSHOT.jar  

mvn dependency:list 分析项目依赖
mvn dependency:tree 列出项目的依赖树
mvn dependency:analyze 列出项目所有已解析的依赖

了解插件与插件目标,如:
clean:clean
resources:resources
compiler:compile


使用Archetype生成项目骨架
mvn archetype:generate 创建该项目的骨架,适用于Maven3,Maven2必须其他命令


 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值