Maven总结

POM.xml是Maven的核心,记录项目主要的配置信息。主要的配置项目有:

根元素下的第一个子元素modelVersion指定了当前POM模型的版本,对于Maven2及Maven 3来说,它只能是4.0.0。
这段代码中最重要的是groupId,artifactId和version三行。这三个元素定义了一个项目基本的坐标,在Maven的世界,任何的jar、pom或者war都是以基于这些基本的坐标进行区分的。
groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如你在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp。本书中所有的代码都基于groupId com.juvenxu.mvnbook。
artifactId定义了当前Maven项目在组中唯一的ID,我们为这个Hello World项目定义artifactId为hello-world,本书其他章节代码会被分配其他的artifactId。而在前面的groupId为com.googlecode.myapp的例子中,你可能会为不同的子项目(模块)分配artifactId,如:myapp-util、myapp-domain、myapp-web等等。

顾名思义,version指定了Hello World项目当前的版本——1.0-SNAPSHOT。SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。随着项目的发展,version会不断更新,如升级为1.0、1.1-SNAPSHOT、1.1、2.0等等。本书的6.5小节会详细介绍SNAPSHOT,第13章介绍如何使用Maven管理项目版本的升级发布。
最后一个name元素声明了一个对于用户更为友好的项目名称,虽然这不是必须的,但我还是推荐为每个POM声明name,以方便信息交流。

样例如下:

<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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.juvenxu.mvnbook</groupId>
   <artifactId>hello-world</artifactId>
   <version>1.0-SNAPSHOT</version>
    <name>Maven Hello World Project</name>
</project>

编译命令: mvn clean compile

添加Dependency:

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
关于类库的dependency的信息可以从:http://mvnrepository.com/  进行查询

scope这里为test,表示这里引入的依赖只能在test中被引用,不能被引入到业务代码中。缺省的值为compile.

运行测试: mvn clean test

打包命令: mvn clean package

安装命令:mvn clean install  打好的包复制到当前系统的respository里面去,以备其他的Maven项目使用

增加Shade Plugin给build下,提供可执行的jar:

<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.fish.test_app.App</mainClass>
                       </transformer>
                    </transformers>
                  </configuration>
  			   </execution>
  			   
  			</executions>
  		</plugin>

创建项目的骨架: mvn archetype:generate  (必须在mvn3以上的版本)

在Eclipse和NetBeans对Maven都提供了良好的支持,可以直接导入Maven的项目。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值