maven 整理

命令合集
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
  1. 创建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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值