maven的目录结构
- src
- main
- java
- resources
- webapp
- test
- java
- resources
- target
src
目录是源代码和测试代码的根目录。
main
目录是与源代码相关的根目录到应用程序本身,而不是测试代码。
test
目录包含测试源代码。
main和test下的 java
目录包含Java代码的应用程序本身是在main和用于测试的Java代码。
resources
目录包含您项目所需的资源。
target
目录由Maven创建。它包含所有编译的类,JAR文件等。
当执行 mvn clean
命令时,Maven将清除目标目录。
webapp
目录包含Java Web应用程序,如果项目是Web应用程序。
webapp
目录是Web应用程序的根目录。webapp目录包含 WEB-INF
目录。
如果按照目录结构,你不需要指定你的源代码的目录,测试代码,资源文件等。
mvn命令
对项目打包有三种打包方式,pom打包,jar包和war包。打包方式在pom.xml文件中进行指定。
pom工程一般是聚合工程,代表父工程,负责管理jar包的版本、maven插件的版本等,主要做统一的依赖管理。
jar包就是普通的打包方式,可以是pom工程的子工程。
war包的都是web工程,是可以直接放到tomcat下运行的工程。
打成pom包和jar包的工程在新建的时候可以不需要制定maven项目的原型,达成war包的项目需要制定maven项目原型,指定的原型通常为maven-archetype-webapp,代表web项目。
clean:清除先前的构建,即删除target目录下编译的内容
compile:编译项目的源代码
package:项目打包工具,会在模块下的target目录生成jar或war等文件
test:测试命令,或执行src/test/java/下junit的测试用例.
mvn install
将打包的jar/war文件复制到你的本地仓库中,供其他模块使用
mvn deploy
将打包的文件发布到远程参考,提供其他人员进行下载依赖
mvn 打包命令---跳过测试
mvn package -Dmaven.test.skip=true