命令合集
http://haohaoxuexi.iteye.com/blog/1860128
解决[INFO] Generating project in Batch mode卡住不动的问题
http://blog.sina.com.cn/s/blog_67331d610102wfdo.html
tomcat:run -Dmeaven.tomcat.port=8080 -Ptest_local
Maven常用命令
打包命令
mvn clean install -Dmaven.test.skip=true -DfailIfNoTests=false
- 创建Maven的普通java项目:
mvn archetype:generate -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
解决网络问题的
-DarchetypeCatalog=local
查看日志
-X
生成java帮助文档
mvn javadoc:jar
查看项目依赖列表
mvn dependency:list
maven查看依赖树
mvn dependency:tree
mvn dependency:analyze
maven生成站点
mvn clean site
maven编译的时候跳过测试
方式1:用命令带上参数
mvn install -Dmaven.test.skip=true
方式2:在pom.xml里面配置
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
maven update 指定jdk版本号
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<source>${java.version}</source>
<target>${java.version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
maven依赖作用范围
maven依赖范围scope和classPath
classPath分为编译、测试、运行
scope分为compile、test、provided、runtime、system、
compile:编译的依赖范围。没有指定时的默认值
使用此依赖范围的maven依赖,对于编译、测试、运行三种
classpath都有效
如:spring-core
会传递
test:测试依赖范围
使用该范围只对测试有效
如:junit
不会再进行依赖传递
provided:已提供的依赖范围
使用该依赖对编译和测试有效,运行时无效
如:servlet-api
不会再进行依赖传递
runtime: 运行时依赖范围
使用该依赖对测试和运行时有效
如:jdbc
会传递
system:系统依赖范围
使用该依赖跟provided范围相同,只不过必须通过systemPath显示的指定依赖路径,不依赖maven仓库,跟本机系统绑定,不利于构建移植。慎用。
import特殊介绍(整理中)
maven依赖传递
依赖范围对依赖传递的影响如图
依赖传递的控制optional
项目A
<dependency>
<groupId>Project-B</groupId>
<artifactId>Project-B</artifactId>
<version>1.0</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
这个时候项目A依赖项目B
但是其他项目在依赖项目A的时候项目B不会传递到新项目中
optional 取值 true or false 默认值为false