Maven总结
来源:互联网 发布:吕丽萍反对同性恋知乎 编辑:程序博客网 时间:2024/06/05 18:21
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的项目。
- maven总结
- Maven总结
- Maven总结
- Maven 总结
- maven总结
- maven总结
- maven总结
- Maven 总结
- Maven总结
- maven总结
- maven总结
- maven总结
- maven总结
- maven 总结
- Maven总结
- Maven总结
- Maven总结
- maven总结
- 杭电OJ——1068 Girls and Boys(二分图)
- Android怎样播放多张图片形成一个动画
- spring aop 之配置方式
- Android中实现图片的拖拽显示
- Jugs_1005
- Maven总结
- java 类与对象 1---static关键字
- 电子方向开发工程师的职场人生路(转)
- 零碎python学习笔记(四) - 20121211 - 函数修饰符@
- 内排序算法小结
- tomcat java环境配置
- Win7安装oracle 10 g
- HTML中class和id标签的区别
- Visual Studio快捷键参考