ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Maven从入门到精通】04-Maven 大杂烩

2022-01-23 01:03:42  阅读:160  来源: 互联网

标签:maven 插件 java 04 nexus 大杂烩 Maven aliyun test


目录

1、形式引用属性(值的占位符)

  • env.propertyName:系统的环境变量
  • java.propertyNameJava的系统属性。java.lang.System.getProperties()能获取到的属性,pom中同样可以引用
  • settings.propertyNameMaven本地配置文件settings.xmlsettings根元素下的属性
  • project.propertyName:当前pom文件中project根元素下的属性
  • 自定义<properties>:自定义<properties>属性中的属性

例如

// 系统环境变量PATH
${env.PATH}
// Java系统属性home
${java.home}
// settings文件的localRepository
${settings.localRepository}
// project中version
${project.version}
// 自定义<properties>
${maven.compiler.source}

2、执行 main 方法

# 执行指定全限定名下的java类
mvn exec:java -Dexec.mainClass="xxx.xxx.xxx.XXX"

3、Settings 文件

<settings>
    <!-- 本地仓库的地址,存放jar包-->
    <localRepository>${user.home}/.m2</localRepository>
    <mirrors>
    	<mirror>
        	<id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
</settings>

4、命令参数

4.1、-D 传入参数

# 执行打包操作时,跳过单元测试
mvn package -Dmaven.test.skip=true

4.2、-P 使用指定的 Profile 配置

首先,假设pom.xml文件配置如下

<!--打包环境配置:开发环境 测试环境 正式环境-->
<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <env>dev</env>
        </properties>
        <!--未指定环境时,默认打包dev环境-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <env>test</env>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <env>prod</env>
        </properties>
    </profile>
</profiles>
<build>
    <!--对于项目资源文件的配置放在build中-->
    <resources>
        <resource>
            <directory>src/main/resources/${env}</directory>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
                <include>**/*.tld</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

此时,使用命令,标识打包本地环境,并跳过单元测试

mvn package -Pdev -Dmaven.test.skip=true

5、Web 插件

5.1、Jetty 插件

<build>
    <finalName>Demo</finalName>
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.25</version>
            <configuration>
                <!--热部署,每10秒扫描一次-->
                <scanIntervalseconds>10</scanIntervalseconds>
                <!--可指定当前项目的站点名-->
                <contextPath>/test</contextPath>
                <connectors>
                    <connector implementation="org.mortbay.jetty.nio.selectchannelconnector">
                        <!--设置启动的端口号-->
                        <port>9090</port>
                    </connector>
                </connectors>
            </configuration>
        </plugin>
    </plugins>
</build>

5.2、Tomcat 插件

<build>
    <finalName>Demo</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <!--启动端口默认:8080-->
                <port>8081</port>
                <!--项目的站点名,即对外访问路径-->
                <path>/test</path>
                <!--字符集编码默认:ISO-8859-1-->
                <uriEncoding>UTF-8</uriEncoding>
                <!--服务器名称-->
                <server>tomcat7</server>
            </configuration>
        </plugin>
    </plugins>
</build>

6、Maven 仓库

6.1、私服

私服的在maven中的配置

<repositories>
    <repository>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>public</id>
        <name>Public Repositories</name>
        <url>http://192.168.0.96:8081/content/groups/public/</url>
    </repository>
    <repository>
        <id>getui-nexus</id>
        <url>http://mvn.gt.igexin.com/nexus/content/repositories/releases/</ur1>
    </repository>
</repositories>

私服的好处

  • 降低中央仓库的负荷
  • 节省自己的外网带宽
  • 加速maven构建
  • 提高稳定性
  • 部署第三方控件

6.2、其他公共库

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

标签:maven,插件,java,04,nexus,大杂烩,Maven,aliyun,test
来源: https://www.cnblogs.com/vectorx/p/15835552.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有