maven管理整理
学习了:https://www.imooc.com/learn/443
mvn -v 版本
compile 编译
test 测试
package 打包
clean 删除
install 安装jar包到本地仓库
创建目录的两种方式:
1,archetype:generate 按照提示进行选择
2,archetype:generate -DgroupId=组织名,公司网址反写+项目名
-DartifactId=项目名-模块名
-Dversion=版本号
-Dpackage=包名
镜像仓库
pom.xml元素:
project
modelVersion 指定当前pom的版本
groupId 反写的公司网址+项目名
artifactId 项目名+模块名
version 第一个0表示大版本号,第二个0表示分支版本号,第三个0表示小版本号
0.0.1-SNAPSHOT,alpha内部测试, beta公测, release稳定, GA
packaging 默认是jar,还有war zip pom
name 项目描述名
url 项目地址
description 项目描述
developers 开发任意列表
licenses 许可证信息
organization 组织信息
dependencies 依赖列表
dependency 依赖项
groupId
artifactId
version
type
scope test只在测试代码范围有用
optional true/false 设置依赖是否可选
exclusions 排除依赖传递列表
exclusion
dependencyManagement 依赖管理,一般用于父模块
dependencies 依赖列表
dependency
build
plugins 插件列表
plugin 插件
groupId
artifactId
version
parent 子模块中对父模块的继承
modules 多个子模块一起编译
maven依赖范围 http://maven.apache.org/ compile/provided/runtime/test/system/import
修改默认的maven编译等级,修改settings,增加profile
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
maven依赖:短路优先、先声明优先
web项目:
archetype web-app
pom中增加servlet
junit 版本改为4.10
创建source folder
确保output
project facets -> 选择动态模块
deployment assembly -> 删除test/resources
在build中加入jetty maven的插件
mvn build... 运行jetty:run
可以指定package的时候运行
pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.imooc.webdemo</groupId> <artifactId>webdemo2</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>webdemo2 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>webdemo2</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <!-- <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> resin这个还是有问题的 <groupId>com.caucho</groupId> <artifactId>resin</artifactId> <version>3.0.9</version> --> <executions> <execution> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
原文:https://www.cnblogs.com/stono/p/9038595.html