乐趣区

关于maven:Maven-让你的编译和打包自动化

工具与资源核心
帮忙开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源
https://developer.aliyun.com/…

插件篇

1. Maven 中指定 Java 的编译版本和源文件编码方式

Maven 默认编译版本是 JDK1.5,在很多时候,发现有些代码报错,又找不到起因,很有可能是没有配置 JDK 版本。就如有一次我遇到的问题:定义全局异样解决类继承 HandlerInterceptorAdapter 时候,preHandle 办法下面有 @Override 就始终报错,点开 HandlerInterceptorAdapter 源码,显著是有这个办法,起初发现 JDK 版本的问题,按如下办法设置好后,谬误解决了。

1. 1 第一种形式

在我的项目的 pom.xml 文件中指定,然而此办法 只对该我的项目无效,如下图红框所示,设置为 JDK1.8。

<build>
        <plugins>
            <!-- 设置 JDK 版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

1. 2 第二种形式

在 maven 装置目录的 conf 文件夹下,批改 settings.xml 文件,在 profiles 节点里增加如下设置,如下图所示,设置为 JDK1.8,此办法对所有 Maven 我的项目无效。

<profile>
        <id>JDK1.8</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <encoding>UTF-8</encoding>
        </properties>
</profile>

2. maven 多模块打包,jar 包和 war 输入到指定文件夹

maven 多模块我的项目构造示例

父工程的 pom 中增加 spring-boot-maven-plugin 的 outputDirectory

<properties>
    <!-- properties 中定义 jar 包的保留门路 -->
    <project.jar.output.directory>D:\JT\java\workspace\webvr-end\deploy</project.jar.output.directory>
</properties>
  
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 文件名以及输入门路 -->
                <configuration>
                <!-- 1.0.5 示意版本号 -->
                    <finalName>${project.artifactId}-1.0.5</finalName>
                    <outputDirectory>${project.jar.output.directory}</outputDirectory>
                </configuration>
            </plugin>
            <!-- 跳过启动测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

输入成果

在父工程下, 执行
mvn clean package -Dmaven.test.skip=true

MVN 命令

1. 常用命令

执行成果 命令 参数解释
Maven 强制更新依赖 mvn clean install -e -U - e 具体异样,- U 强制更新

2. 命令参数解释

本文转自:https://developer.aliyun.com/…

退出移动版