乐趣区

关于maven:构建工具之Maven的使用一

一、前言

对于开发一个 Java 我的项目,上线之前会通过编译,测试,打包,部署这几个构建过程,如果文件较少,咱们能够应用 java–>javac–>jar 这些命令去实现上述的构建流程。然而当工程越来越大,文件越来越多。Java 原生的命令就显得顾此失彼,力不居心了。Maven 基于 POM 治理 jar 包依赖,通过本身的生命周期实现我的项目的构建流程。具体构建原理可自行百度 / 谷歌。本文次要为大家分享一些比拟实用的 maven 应用技巧。

二、配置技巧

1. 多办公环境开发配置技巧

在公司办公时,依赖包加载会用公司的私服;在家办公时,依赖包加载会用阿里 / 网易等国内镜像。办公环境切换时,咱们想通过简略的形式切换,而不是每次都更改 maven 的 settings 配置文件,怎么办呢?可参考如下计划:

<settings>
      <profile>
        <id>company</id>
        <repositories>
            <repository>
                <id>nexus</id>
                <name>nexus-repositories</name>
                <url>http://xxxx.xxxx.xxx:xxxx/nexus/content/repositories</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
                <snapshots>
                      <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
    </profile>
      <profile>
        <id>home</id>
        <repositories>
            <repository>
                <id>aliyun</id>
                <name>central</name>
                <url>https://maven.aliyun.com/repository/central</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>
        <activeProfiles>
        <activeProfile>company</activeProfile>
        <activeProfile>home</activeProfile>
  </activeProfiles>
</settings>

配置完之后,idea 会在侧边栏呈现可选框,点击相应的办公环境即可,再次打包即可。
如下图:

2. 构建日志输入配置技巧

打包时,咱们会留神到构建日志会输入到屏幕,如果工程比拟大,相应的大量日志也会输入。那有没有方法能够调整输入的日志级别的,答案是有的,可参考上面的三种计划:

  1. 编辑 mvn 执行文件 ${MAVEN_HOME}/bin/mvn 新增一行配置
MAVEN_OPTS="-Dorg.slf4j.simpleLogger.defaultLogLevel=warn"
  1. maven 装置目录下:conf/logging/simplelogger.properties 批改输入日志级别
org.slf4j.simpleLogger.defaultLogLevel=warn
  1. 在执行 mvn 命令的时候应用参数 -q,不过这样只能输入 error 信息
mvn clean package -DskipTests -q

3. 文件过滤打包配置技巧

咱们有时心愿 maven 打包时只把某些资源文件打入 jar 包,而并不是所有的文件,此时咱们能够在 POM 文件做如下配置:

<!-- 配置 Maven 对 resource 文件 过滤 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 打包时,只加载 aa.properties 和 bb.xml -->
                <includes>
                    <include>**/aa.properties</include>
                    <include>**/bb.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>

4. 离线开发的配置技巧

有时处于平安思考咱们须要在断网的环境下进行开发,例如生产环境。此时不能连贯外网依赖如何加载呢?如何进行开发呢?maven 提供了离线模式,前提是须要将下载好依赖包上传到内网环境并装置 maven 等相干工具,可参考如下两种计划:

  1. 在 settings.xml 中进行更改 在第一个标记中增加

<localRepository>~/.m2/repository</localRepository>
<offline>true</offline>

应用 mvn clean package -DskipTests=true 进行打包

  1. 在 pom 文件中指定本地仓库

    <repositories>
    <repository>
      <id>local</id>
      <name>local Repository</name>
      <url>file://${project.basedir}/.m2/repository</url>
    </repository>
  </repositories>

应用 mvn -o clean install -DskipTests=true 进行打包

三、总结

以上就是明天大狮兄和大家分享的对于 maven 配置相干的内容,蕴含多办公环境切换的配置、构建日志输入的配置、打包文件过滤的配置、离线开发的配置。文章观点或者论断亦或其余如有谬误,欢送大家评论或者私信进行斧正。同时如果此篇文章对大家有所帮忙,也欢送大家点赞、珍藏、关注。

退出移动版