Tools-Maven-Base

maven基础

``clean install -DskipTests=true` 清理打包

clean install -DskipTests=true -pl app -am 清理 打包安装 跳过测试 单模块(app)

tomcat7:run 用内置tomcat运行jar

1
2
#解决maven仓库明明有包,但是idea下载不下来,可以手动执行命令进行下载,执行前先清理本地仓库目录
mvn dependency:get -DremoteRepositories=https://repo1.maven.org/maven2 -DgroupId=org.java-websocket -DartifactId=Java-WebSocket -Dversion=1.3.8
注意

clean再运行时清理会报错,所以需要先当掉

常见问题

  1. 在一个带父子项目层级的项目的子项目里面引入一个第三方依赖

    1
    2
    3
    4
    5
    <dependency>
    <groupId>com.influxdb</groupId>
    <artifactId>influxdb-client-java</artifactId>
    <version>6.7.0</version>
    </dependency>

    第三方依赖里面又依赖了com.squareup.okhttp3,依赖里面的版本的dependencyManagement管理的是<dependency.okhttp3.version>4.10.0</dependency.okhttp3.version>,但是实际就变成了3.8.1,导致okhttp一些方法提示不存在。

    原因:未知

    解决:在父项目的pom.xml里面增加

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <properties>
    ....
    <dependency.okhttp3.version>4.10.0</dependency.okhttp3.version>
    </properties>
    ....
    <dependencyManagement>
    <dependencies>
    ......
    <dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>${dependency.okhttp3.version}</version>
    </dependency>

    <dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>logging-interceptor</artifactId>
    <version>${dependency.okhttp3.version}</version>
    </dependency>

    </dependencies>
    </dependencyManagement>