maven打完jar包之后将jar包放到指定位置总结之五种方法

news/2024/10/31 3:22:35/

一、方式一:通过maven-jar-plugin指定outputDirectory输出路径


可以排除某些配置文件,没有文件夹的话会自动创建!

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<!– 指定打包的jar包输出路径 –>
<outputDirectory>D:\test</outputDirectory>
<!–不打入jar包的文件类型或者路径 –>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.yml</exclude>
<exclude>static/**</exclude>
<exclude>templates/**</exclude>
</excludes>
</configuration>
</plugin>


二、方式二:通过maven-resources-plugin指定outputDirectory输出路径

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<!–打成jar包后复制到的路径 –>
<outputDirectory>
D:\test1
</outputDirectory>
<resources>
<resource>
<!–项目中的路径 –>
<directory>src/main/resources/</directory>
</resource>
</resources>
</configuration>
</execution>
<!–可配置多个提取复制路径只需要 “<id>”名字不一样即可 –>
<execution>
<id>copy-bulid</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>
D:\test2
</outputDirectory>
<resources>
<resource>
<directory>target</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>


三、方式三:通过maven-antrun-plugin复制jar包


Maven已经成为Java 工业领域事实上的构建标准,但在某些情况下,如果可以用Ant命令,还是很方便的。借助 maven-antrun-plugin 插件,可以在Maven执行时,额外执行Ant脚本如下列配置所示:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>install</id>
<phase>install</phase>
<configuration>
<target>
<echo message=”*******************install*******************” />
<mkdir dir=”${basedir}/target/classes” />
<copy todir=”../target/commons” overwrite=”true”>
<fileset dir=”${project.build.directory}”
erroronmissingdir=”false”>
<include name=”*.jar” />
</fileset>
</copy>
<move file=”${project.build.directory}/xxxxxxx.jar”
tofile=”${project.build.directory}/xxx.jar” />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>clean</id>
<phase>clean</phase>
<configuration>
<target>
<echo message=”*******************clean*******************” />
<delete dir=”target” />
<mkdir dir=”${basedir}/target/classes” />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>


<execution>是可执行命令,可以修改maven的命令执行过程,下面的两个execution是修改了install和clean;

<echo>是打印命令;

<mkdir>是创建文件夹命令;(文件夹里面没有东西时好像不会创建出来)

<copy>是复制命令,其中todir是目标文件夹,overwrite是覆盖旧文件,<fileset dir=”xxxx”>是源文件,<include>是包含jar包;

<move>是移动文件或者修改名称命令

<delete>是删除命令;

${basedir} 指的是 项目根路径
${project.build.directory} 指的是 target所在目录
${project.build.finalName} 指的是 jar包前缀名

四、方式四:通过maven-antrun-plugin嵌入build.xml文件


如下列配置所示:

将build.xml放到项目根路径下,使用<ant antfile=”${basedir}/build.xml”>嵌入build.xml文件即可。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>install</id>
<phase>install</phase>
<configuration>
<target>
<property name=”compile_classpath”
refid=”maven.compile.classpath” />
<property name=”runtime_classpath”
refid=”maven.runtime.classpath” />
<property name=”test_classpath”
refid=”maven.test.classpath” />
<property name=”plugin_classpath”
refid=”maven.plugin.classpath” />

<ant antfile=”${basedir}/build.xml”>
<target name=”test” />
</ant>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>


五、方式五:使用distributionManagement设置存放路径


这种方式没有通过插件,而是直接配置distributionManagement

使用deploy命令可以部署到目标文件夹,没有文件夹的话会自动创建!

<distributionManagement>
<repository>
<id>localRepository</id>
<url>file:D:/testRepository</url>
</repository>
</distributionManagement>


扩展:使用maven-dependency-plugin 插件将依赖包导出到指定文件夹
这种方式是将依赖包输出到指定路径

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!– 指定输出路径 –>
<outputDirectory>D:\test2</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>


http://www.ppmy.cn/news/292782.html

相关文章

linux gcc/g++编译安装 gcc7.5.0 c++17

linux C17编译&#xff1a; 编译指定参数 -stdc17 编译指定参数 -stdc17 例&#xff1a;g -stdc17 main.cpp #如果编译器不支持c17就会提示&#xff1a;g: error: unrecognized command line option ‘-stdc17’ 方法&#xff1a; 1.下载高版本gcc 建议7.3以上 wget http://m…

Ubuntu没有gcc, g++处理

没有gcc, g&#xff0c;不能使用sudo apt-get install 安装&#xff0c; 提示Lock; 创建如下脚本&#xff0c;执行后再使用sudo apt-get install gcc安装即可 #! /bin/bash #先使用下面的语句 #sudo killall apt apt-all #提示如下内容&#xff0c;继续使用下面的语句处理…

ubuntu安装g++/gcc 7版本

安装gcc-7/g -7 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-7 sudo apt-get install g7 修改本地gcc/g版本&#xff0c;首先设置优先级 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100 sud…

关于hadoop 在浏览器中看hdfs

最近在折腾 hadoop 在物理机中用浏览器访问hdfs 点击 Browse the filesystem 浏览器中的地址栏 从 http://hunter-lenovo-g475:50070/dfshealth.jsp 变成 localhost... 然后在网上找了资料说是 物理机的hosts 文件没配&#xff0c;但实际上并不是 。我用ip 和主机名…

FinalShell界面左侧为什么能够监测系统指标动态变化的原理

前言&#xff1a; 我们可以看出FinalShell是用Java写的&#xff0c;具体怎么看出来的&#xff0c;不能光看界面logo是Java的logo&#xff0c;还要进它的安装目录下进行查看是否真是用Java编写的&#xff01;&#xff01;&#xff01; 具体查看如下&#xff1a; 查看finalshe…

插件化技术

插件化技术 一.概述二.原理三.好处四.插件化涉及到的技术以及常用的插件化框架五.详细说明1.第一个问题&#xff1a;类加载&#xff08;1&#xff09;Android 项目中&#xff0c;动态加载技术按照加载的可执行文件的不同大致可以分为两种&#xff1a;&#xff08;2&#xff09;…

Pull Request完整过程【记一次给antvis:G6的PR】

文章目录 前言Bug 重现问题排查解决方案old versionnew version收到回复 PR提交完整过程fork仓库 & clone代码仓添加upstreamfetch 新分支创建新分支完成修改&#xff08;注意commit规范&#xff09;push到个人仓库创建Pull Request填写PR信息 前言 G6正在进行v4到v5的版本…

linux基础命令系列之10 分钟掌握 ln 命令:创建链接,软链接,硬链接,递归链接,打印详细输出

文章目录 前言一. ln命令介绍二. 语法格式及常用选项三. 参考案例3.1 ln命令创建硬链接3.1.1 创建硬链接3.1.2 源文件被删除&#xff0c;不影响链接文件的正常使用3.1.3 硬链接不能跨分区创建 3.2 为什么目录刚刚创建的时候&#xff0c;链接数为23.3 ln -s 软链接的创建3.3.1 l…