Maven相关常用操作——实用指南

  • 将jar 打到本地仓库
bash 复制代码
mvn install:install-file -Dfile=D:\protocol.jar -DgroupId=com.gdc -DartifactId=protocol -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true 
  • 配置JDK1.8 插件
xml 复制代码
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>   
    <artifactId>maven-compiler-plugin</artifactId>  
    <configuration>  
        <source>1.8</source>  
        <target>1.8</target>  
        <encoding>UTF-8</encoding>  
    </configuration>  
</plugin>
  • 配置JDK1.7 插件
xml 复制代码
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.1</version>
	<configuration>
		<source>1.7</source>
		<target>1.7</target>
                <encoding>UTF-8</encoding>  
	</configuration>
</plugin>
  • 打包发布时,跳过单元测试
xml 复制代码
<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>
  • 将代码单独打包成一个jar
xml 复制代码
<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <!-- 存档 -->
        <archive>
            <manifest>
                <!-- 项目启动类 -->
                <mainClass>com.goldcard.test.openlink.LoadrunnerOpenlinkApplication</mainClass>
                <!-- 依赖的jar的目录前缀 -->
                <classpathPrefix>../lib</classpathPrefix>
                <!-- 使用唯一版本 -->
                <useUniqueVersions>false</useUniqueVersions>
                <!-- 添加classpath 开关 -->
                <addClasspath>true</addClasspath>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <!-- 配置清单(MANIFEST)属性 -->
            <manifestEntries>
                <Class-Path>../resources</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>
  • 依赖包打到指定目录插件
xml 复制代码
<!-- 将依赖包打包到 lib 目录 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>
            <phase>prepare-package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <!-- 依赖包存放的位置 -->
                <outputDirectory>target/lib</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
                <includeScope>compile</includeScope>
            </configuration>
        </execution>
    </executions>
</plugin>
  • 资源文件插件
xml 复制代码
<!-- 此插件在Maven 多环境切换时,必须添加 -->
<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <inherited>true</inherited>
    <configuration>
        <encoding>UTF-8</encoding>
        <!-- 配置资源文件中的变量分隔符(标识符),这里配置了两种变量分隔符 -->
        <delimiters>
            <delimiter>${*}</delimiter> <!-- 以${}为分隔符,例如 ${spring.profiles.active}  -->
        </delimiters>
    </configuration>
</plugin>
  • SpringBoot 项目打包插件
xml 复制代码
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <addResources>true</addResources>
        <finalName>LoadRunnerOpenlink</finalName>
        <mainClass>com.goldcard.test.openlink.LoadrunnerOpenlinkApplication</mainClass>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • assembly 自定义打包插件
xml 复制代码
<!-- assembly 打包,设置指定的打包方式 -->
<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <!-- assebly 配置文件位置 -->
        <descriptor>src/main/assembly/assembly.xml</descriptor>
        <!-- 打包之后的文件名称 -->
        <finalName>loadRunner-openLink</finalName>
        <appendAssemblyId>false</appendAssemblyId>
        <outputDirectory>./target</outputDirectory>
        <tarLongFileMode>gnu</tarLongFileMode>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <!-- 绑定到package生命周期阶段上 -->
            <phase>package</phase>
            <goals>
                <!-- 只运行一次 -->
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • 将项目及依赖包打成一个jar包插件
xml 复制代码
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-shade-plugin</artifactId>  
    <version>2.3</version>  
    <executions>  
        <execution>  
            <phase>package</phase>  
            <goals>  
                <goal>shade</goal>  
            </goals>  
            <configuration>  
                <transformers>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                        <!--指定main方法-->
                        <mainClass>com.goldcard.Test</mainClass>  
                    </transformer>  
                </transformers>  
            </configuration>  
        </execution>  
    </executions>  
</plugin>
相关推荐
一颗花生米。10 分钟前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼10 分钟前
Java基础-单例模式的实现
java·开发语言·单例模式
ok!ko4 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589364 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰5 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没5 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
编程、小哥哥6 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程7 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇7 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
杨哥带你写代码7 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端