`
ln_ydc
  • 浏览: 266674 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

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必须其他命令


 

 

 

 

 

 

 

 

 

  • 大小: 4.4 KB
  • 大小: 1.6 KB
  • 大小: 243.2 KB
  • 大小: 72.5 KB
  • 大小: 132.7 KB
  • 大小: 9.9 KB
  • 大小: 51.6 KB
  • 大小: 52 KB
  • 大小: 114.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics