创建项目
- 选定一个目录,如E:\workspace\maven,新建的项目将放在这个目录。
- 运行CMD,切换到该目录。
- 执行mvn archetype:generate
直到输出"Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 634:"会暂停,直接回车,继续。
直到输出"Choose org.apache.maven.archetypes:maven-archetype-quickstart version: ... Choose a number: 6:"会暂停,直接回车,继续。
直到输出"Define value for property ‘groupId‘: :",输入项目的groupId,例如org.sonatype.mavenbook.ch03,回车继续。
直到输出"Define value for property ‘artifactId‘: :",输入项目的artifactId,例如simple,回车继续。
直到输出"Define value for property ‘version‘: 1.0-SNAPSHOT: :",输入版本号(默认为1.0-SNAPSHOT),回车继续。
直到输出"Define value for property ‘package‘: org.sonatype.mavenbook.ch03: :",输入package(默认为org.sonatype.mavenbook.ch03),回车继续。
确认输入的参数,没有问题输入Y,回车继续;如果需要修改,输入N回车修改。
结束。 - 查看生成的内容
|- simple
|- src
| |- main
| | |- java
| | |- org.sonatype.mavenbook.ch03.App.java
| |- test
| |- java
| |- org.sonatype.mavenbook.ch03.AppTest.java
|- pom.xml
内容如下:1 package org.sonatype.mavenbook.ch03; 2 3 /** 4 * Hello world! 5 * 6 */ 7 public class App 8 { 9 public static void main( String[] args ) 10 { 11 System.out.println( "Hello World!" ); 12 } 13 }
App.java
1 package org.sonatype.mavenbook.ch03; 2 3 import junit.framework.Test; 4 import junit.framework.TestCase; 5 import junit.framework.TestSuite; 6 7 /** 8 * Unit test for simple App. 9 */ 10 public class AppTest 11 extends TestCase 12 { 13 /** 14 * Create the test case 15 * 16 * @param testName name of the test case 17 */ 18 public AppTest( String testName ) 19 { 20 super( testName ); 21 } 22 23 /** 24 * @return the suite of tests being tested 25 */ 26 public static Test suite() 27 { 28 return new TestSuite( AppTest.class ); 29 } 30 31 /** 32 * Rigourous Test :-) 33 */ 34 public void testApp() 35 { 36 assertTrue( true ); 37 } 38 }
AppTest.java
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>org.sonatype.mavenbook.ch03</groupId> 6 <artifactId>simple</artifactId> 7 <version>1.0-SNAPSHOT</version> 8 <packaging>jar</packaging> 9 10 <name>simple</name> 11 <url>http://maven.apache.org</url> 12 13 <properties> 14 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 15 </properties> 16 17 <dependencies> 18 <dependency> 19 <groupId>junit</groupId> 20 <artifactId>junit</artifactId> 21 <version>3.8.1</version> 22 <scope>test</scope> 23 </dependency> 24 </dependencies> 25 </project>
pom.xml
安装项目
- 切换到simple目录,当前目录下有pom.xml文件。
- 执行mvn install
我在这一步的时候,因为使用的mirror缺少surefire-junit3而中断,后来换了mirror(http://repo1.maven.org/maven2/)才得以继续
执行安装命令之后,simple目录下,发现多了一个target目录:
|- target
|- classes
| |- org.sonatype.mavenbook.ch03.App.class
|- test-classes
| |- org.sonatype.mavenbook.ch03.AppTest.class
|- simple-1.0-SNAPSHOT.jar
|- maven-archiver
|- maven-status
|- surefire-reports
其实,我们这个项目已经经历过了编译、测试、打包和安装。可以在.m2/repository/org/sonatype/mavenbook/ch03/simple看到安装的内容:
|- simple
|- 1.0-SNAPSHOT
| |- simple-1.0-SNAPSHOT.jar
| |- simple-1.0-SNAPSHOT.pom
| |- _remote.repositories
| |- maven-metadata-local.xml
|- maven-metadata-local.xml
运行项目
在simple目录下执行 java -cp target/simple-1.0-SNAPSHOT.jar org.sonatype.mavenbook.ch03.App :
Hello Word级别的快速入门就到这里了,下一篇开始一些概念学习。
题外话
今天还有两个事情需要记录一下:1. 是偶然看到了同事搭建的Sonatype Nexus环境,这个和Maven相关,计划在后面学习;2. 是看了博客达人juvenshun的一些资料,《Maven 权威指南》中文版,就是他翻译的,和别人相比我还是太弱了,需要继续努力!
- juvenshun的博客(已退出,改在个人网站发博)
- juvenshun的个人网站
- juvenshun的简介
- 领英网站(全球最大的职业社交网站)
时间: 2024-11-29 10:00:27