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>