关于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配置相干的内容,蕴含多办公环境切换的配置、构建日志输入的配置、打包文件过滤的配置、离线开发的配置。文章观点或者论断亦或其余如有谬误,欢送大家评论或者私信进行斧正。同时如果此篇文章对大家有所帮忙,也欢送大家点赞、珍藏、关注。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理