Java项目的创建
Java项目目录结构
|-项目名称
|-src //程序代码
|-main //程序主代码
|-java //源代码
|-用于存放源代码,相当于传统项目的src,如com.itany.usm.dao.UserDao
|-resource //配置文件(自己加)
|-用于存放配置文件
|-test //测试代码,目录结构与main中一样
|-java
|-resource(自己加)
|-pom.xml //maven核心配置文件
设置“project业务组织名 - module模块名 - package包名 - class/interface”
mvn创建项目-win10cmd.png
Maven常用命令
以下所有命令都必须在某个项目的根目录下执行,多个命令可以一起执行。
1.mvn archetype
创建maven项目,根据模板生成项目骨架
2.mvn clean
删除target目录
3.mvn compile
将main中的源代码编译成字节码,生成文件在target/classes目录下
4.mvn test
测试,执行测试类(使用junit),并生成测试报告
5.mvn package
将java项目打成jar包,web项目打成war包,供其他项目使用
6.mvn install
将项目的jar包安装到“本地仓库”,供其他项目使用
7.mvn deploy
将项目的jar包安装到“中央仓库”,需要apache组织授予账号和密码(了解)
8.mvn site
生成站点,关于项目介绍的网页
#如果mvn site报错找不到org.apache.maven.doxia.siterenderer,在项目的pom.xml文件里添加
<project>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</pluginManagement>
</build>
...
</project>
#D:\maven\maven-projects\sms\target\site
Web项目的创建
创建过程同Java项目,只需要在mvn archetype:generate时选10-webapp。
Web工程的目录结构
|-项目名称
|-src //程序代码
|-main //程序主代码
|-java //源代码(自己加)
|-用于存放源代码,相当于传统项目的src,如com.itany.usm.dao.UserDao
|-resource //配置文件
|-用于存放配置文件
|-webapp //网站根目录,相当于传统web项目的WebRoot
|-WEB-INF
|-web.xml
|-index.jsp
|-test //测试代码,目录结构与main中一样(自己加)
|-java
|-resource
|-pom.xml //maven核心配置文件
首先,修改项目的pom.xml文件
<build>
<finalName>shop_web</finalName>
···
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
···
</build>
到项目的根目录下
#打war包
mvn clean compile package
#使用maven的tomcat插件,发布
mvn tomcat7:run
web-mvn-tomcat7run.png
生命周期
一个项目的构建build过程通常包括:清理、编译、测试、打包、集成测试、部署等。
Maven定义了三套生命周期:clean、default、site。每个生命周期之间相互独立;但每个生命周期内部包含多个阶段,这些阶段是有顺序的,后续的阶段必须等待前面的阶段执行后才能执行。
default生命周期包括:compile、test、package。
如执行mvn package,会自动先执行compile和test。