Maven下载源码包
使maven2在下载依赖包的同时下载其源代码包的方法:
1. 使用maven命令:mvn dependency:sources 下载依赖包的源代码。
2. 使用参数: -DdownloadSources=true 下载源代码jar。 -DdownloadJavadocs=true 下载javadoc包。
mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true
5-23
Maven web项目在同一个jetty中run多个项目
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> <configuration> <!-- <scanIntervalSeconds>10</scanIntervalSeconds> --> <webApp> <contextPath>/cms</contextPath> </webApp> <contextHandlers> <!-- 添加新的项目 --> <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext"> <!-- war包路径 --> <war>../CMS_Resource/target/cms_resource.war</war> <!-- 请求路径 --> <contextPath>/resource</contextPath> </contextHandler> </contextHandlers> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>9999</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin>
5-27
Maven的生命周期 (Lifecycle)
- validate:验证工程是否正确,所有需要的资源是否可用。
- compile:编译项目的源代码。
- test-compile:编译项目测试代码。
- test:使用已编译的测试代码,测试已编译的源代码。
- package:已发布的格式,如jar,将已编译的源代码打包。
- integration-test:在集成测试可以运行的环境中处理和发布包。
- verify:运行任何检查,验证包是否有效且达到质量标准。
- install:把包安装在本地的repository中,可以被其他工程作为依赖来使用
- deploy:在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
- generate-sources:产生应用需要的任何额外的源代码,如xdoclet。
Archetype插件通过名字为pom.xml的文件创建了一个项目。这就是项目对象模型(POM),一个项目的声明性描述。当Maven运行一个目标的时候,每个目标都会访问定义在项目POM里的信息。Maven坐标定义了一组标识,它们可以用来唯一标识一个项目,一个依赖,或者Maven POM里的一个插件。
groupId, artifactId, version和packaging。这些组合的标识符拼成了一个项目的坐标,就像任何其它的坐标系统,一个Maven坐标是一个地址,即“空间”里的某个点:从一般到特殊。当一个项目通过依赖,插件或者父项目引用和另外一个项目关联的时候,Maven通过坐标来精确定位一个项目。
- groupId :团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创建这个项目的组织名称的逆向域名(reverse domain name)开头。
- artifactId :在groupId下的表示一个单独项目的唯一标识符。
- version :一个项目的特定版本。发布的项目有一个固定的版本标识来指向该项目的某一个特定的版本。而正在开发中的项目可以用一个特殊的标识,这种标识给版本加上一个“SNAPSHOT”的标记。
- packaging :项目的类型,默认是jar,描述了项目打包后的输出。类型为jar的项目产生一个JAR文件,类型为war的项目产生一个web应用。
后续一点点加