关于maven中pom和settings的配置
- 格式:docx
- 大小:82.68 KB
- 文档页数:11
Maven1.Maven主要功能:构建项目(Builds)文档编制(Documentation)报告(Reporting)依赖管理(Dependencies)配置管理(SCMs)发布管理(Releases)2.Maven基本命令创建Maven目录mvn archetype:create -DgroupId=com.yourCompanyName-DartifactId=yourAppName测试mvn test编译类mvn compile打包mvn package生成Sitemvn site清除mvn clean以上命令都是在command窗口运行的.它们还可以混合运行,如mvn test compile package3.Maven的生命周期及其与之对应的命令:validate:验证工程是否正确,所有需要的资源是否可用。
compile:编译项目的源代码。
test-compile:编译项目测试代码。
test:使用已编译的测试代码,测试已编译的源代码。
package:已发布的格式,如jar,将已编译的源代码打包。
integration-test:在集成测试可以运行的环境中处理和发布包。
verify:运行任何检查,验证包是否有效且达到质量标准。
install:把包安装在本地的repository中,可以被其他工程作为依赖来使用deploy:在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources:产生应用需要的任何额外的源代码,如xdoclet。
、4.pom.xml的结构上面就是前次HelloMaven工程的pom.xml文件,我们可以通过修改其中的元素使工程按照我们的意图运行,对于接触Maven的人,主要就是和pom.xml文件在打交道.pom.xml文件基本节点介绍:<project>:文件的根节点.<modelversion>:pom.xml使用的对象模型版本.<groupId>:创建项目的组织或团体的唯一Id.<artifactId>:项目的唯一Id,可视为项目名.<packaging>:打包物的扩展名,一般有JAR,WAR,EAR等<version>:产品的版本号.<name>:项目的显示名,常用于Maven生成的文档。
<url>:组织的站点,常用于Maven生成的文档。
<description>:项目的描述,常用于Maven生成的文档。
<repositories>:资源地址,所有的依赖包将从次地址下载,其中如果snapshot为资源快照,相对不稳定,而release为稳定版本<pluginRepositories>: 插件地址,因为maven的所有功能都是使用插件来实现功能的,因此需要从特定的地址下载插件包<build>:功能集标签,在此标签下面可以定义一系列的插件以实现功能,常用插件有以下两种:∙maven-surefire-plugin:单元测试的插件,在此插件下面可以设置一些列的参数∙maven-compiler-plugin:代码编译插件,在用此插件的时候一定要设置source的版本,默认的是JDK1.3.<dependencies>:项目需要的所有依赖的包5.完整pom.xml示例6.<project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><!-- The Basics --><modelVersion>4.0.0</modelVersion><groupId>com.citigroup.junglesong</groupId><artifactId>MavenResource</artifactId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>MavenResource</name><url></url><!-- dependent Libs --><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><!-- Build Settings --><reporting><plugins><plugin><artifactId>maven-project-info-reports-plugin</artifactId><reportSets><reportSet><id>sunlink</id><reports><report>javadoc</report></reports><inherited>true</inherited><configuration><links><link>/j2se/1.5.0/docs/api/</link></links></configuration></reportSet></reportSets></plugin><plugin><groupId>org.apache.maven.plugins</groupId><!--Generate Java Doc --><artifactId>maven-javadoc-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><!-- Code Check --><artifactId>maven-checkstyle-plugin</artifactId><configuration><configLocation>config/sun_checks.xml</configLocation></configuration></plugin><plugin><groupId>org.codehaus.mojo</groupId><!-- Test Report --><artifactId>surefire-report-maven-plugin</artifactId></plugin><plugin><groupId>org.codehaus.mojo</groupId><!-- HTMLize Source Code --><artifactId>jxr-maven-plugin</artifactId></plugin><plugin><!-- Find Bugs --><groupId>org.codehaus.mojo</groupId><artifactId>findbugs-maven-plugin</artifactId></plugins></reporting><!-- More Project Information --><licenses><license><name>Apache 2</name><url>/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution><comments>A business-friendly OSS license</comments> </license></licenses><organization><name>SitInSpring</name><url>/sitinspring</url></organization><developers><developer><id>sitinsprng</id><name>SitInSpring</name><email>SitInSpring@</email><url>/sitinspring</url><organization>UFO</organization><organizationUrl></organizationUrl><roles><role>architect</role><role>developer</role></roles><timezone>+8</timezone><properties><picUrl>/logo.gif</picUrl> </properties></developer><developer><id>junglesong</id><name>Junglesong</name><email>junglesong@</email><url>/sitinspring</url><organization>UFO</organization><organizationUrl></organizationUrl><role>architect</role><role>developer</role></roles><timezone>+8</timezone><properties><picUrl>/junglesong/TxtNovelGarden.gif </picUrl></properties></developer></developers><contributors><contributor><name>Alien</name><email>Alien@</email><url></url><organization>AlienOrganization</organization><organizationUrl></organizationUrl><roles><role>tester</role></roles><timezone>-5</timezone><properties><gtalk>@</gtalk></properties></contributor></contributors><repositories><repository><releases><enabled>false</enabled><updatePolicy>always</updatePolicy><checksumPolicy>warn</checksumPolicy></releases><snapshots><enabled>true</enabled><updatePolicy>never</updatePolicy><checksumPolicy>fail</checksumPolicy></snapshots><id>codehausSnapshots</id><name>Codehaus Snapshots</name><url>/maven2</url><layout>default</layout></repository></repositories><!-- Environment Settings --><mailingLists><mailingList><name>User List</name><subscribe>user-subscribe@127.0.0.1</subscribe><unsubscribe>user-unsubscribe@127.0.0.1</unsubscribe><post>user@127.0.0.1</post><archive>http://127.0.0.1/user/</archive><otherArchives><otherArchive>/base/1/127.0.0.1</otherArchive></otherArchives></mailingList></mailingLists></project>7.Settings.xml结构settings.xml基本结构如下:<settings xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0/xsd/settings-1.0.0.xsd"> <localRepository/><interactiveMode/><usePluginRegistry/><offline/><pluginGroups/><servers/><mirrors/><proxies/><profiles/><activeProfiles/>简单介绍一下几个主要的配置因素:localRepository:表示本地库的保存位置,也就是maven2主要的jar保存位置,默认在${user.dir}/.m2/repository,如果需要另外设置,就换成其他的路径。