原来用maven,算是个熟练工,好久没用了,忽然想不起来。这里记上一笔。 web
Maven2 的运行命令为 : mvn , app
经常使用命令为 : eclipse
mvn archetype:create :建立 Maven 项目 webapp
mvn compile :编译源代码 maven
mvn test-compile :编译测试代码 ide
mvn test : 运行应用程序中的单元测试 单元测试
mvn site : 生成项目相关信息的网站 测试
mvn clean :清除目标目录中的生成结果 网站
mvn package : 依据项目生成 jar 文件 url
mvn install :在本地 Repository 中安装 jar
mvn eclipse:eclipse :生成 Eclipse 项目文件
生成项目
建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成 Eclipse 项目
普通 Eclipse 项目执行 : mvn eclipse:eclipse
Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0
( wtp1.0 以上版本都可用)
pom.xml 文件基本节点介绍
<project > :文件的根节点 .
<modelversion > : pom.xml 使用的对象模型版本 .
<groupId > :建立项目的组织或团体的惟一 Id.
<artifactId > :项目的惟一 Id, 可视为项目名 .
<packaging > :打包物的扩展名,通常有 JAR,WAR,EAR 等
<version > :产品的版本号 .
<name > :项目的显示名,经常使用于 Maven 生成的文档。
<url > :组织的站点,经常使用于 Maven 生成的文档。
<description > :项目的描述,经常使用于 Maven 生成的文档。
在 POM 4 中, <dependency> 中还引入了 <scope> ,它主要管理依赖的部署。
目前 <scope> 能够使用 5 个值:
compile :缺省值,适用于全部阶段,会随着项目一块儿发布。
provided :相似 compile ,指望 JDK 、容器或使用者会提供这个依赖。如 servlet.jar 。
runtime :只在运行时使用,如 JDBC 驱动,适用运行和测试阶段。
test :只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system :相似 provided ,须要显式提供包含依赖的 jar , Maven 不会在 Repository 中查找它。