`

maven 打包的同时将生成的jar复制到指定路径

 
阅读更多
<build>
    <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
    <testOutputDirectory>src/main/webapp/WEB-INF/classes</testOutputDirectory>
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-lib-src-webapps</id>
                    <phase>package</phase>
                    <configuration>
                        <tasks>
                           <!-- <delete dir="src/main/webapp/WEB-INF/lib" />-->
                            <copy todir="${project.web-common.lib-targetPath}">
                                <fileset dir="${project.commonmodule.lib-source.directory}">
                                    <include name="*" />
                                </fileset>
                            </copy>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

 目的:将打包后生成的jar复制到指定路径
阻碍:命令mvn package后,才生成jar的包,如果单纯的用resources方法复制文件,是无法在package时复制一个还未存在的东西到某地的。
解决:添加antrun plugin,达到更改打包和复制的顺序的目的,使打包之后再复制成为可能。
PS:在project中properties里规定的路径,project的module可以理解使用。

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jw.system</groupId>
		<artifactId>system-parent</artifactId>
		<version>1.0-SNAPSHOT</version>
	</parent>
	<groupId>com.jw.system.base</groupId>
	<artifactId>system-base</artifactId>
	<version>1.0-SNAPSHOT</version>
	<name>system-base</name>
	<url>http://maven.apache.org</url>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.4</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.deploy.lib}</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<configuration>
							<tasks>
								<copy todir="${project.deploy.lib}">
									<fileset dir="${project.build.directory}">
										<include name="*.jar" />
									</fileset>
								</copy>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<version>2.4</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>install-file</goal>
						</goals>
						<configuration>
							<packaging>jar</packaging>
							<artifactId>${project.artifactId}</artifactId>
							<groupId>${project.groupId}</groupId>
							<version>${project.version}</version>
							<file>${project.deploy.lib}/${project.artifactId}-${project.version}.jar</file>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

 

分享到:
评论

相关推荐

    Maven 生成打包可执行jar包的方法步骤

    Maven提供了多种打包插件,如maven-jar-plugin(默认的JAR打包插件)、maven-shade-plugin(用于生成可执行的fat JAR)和maven-assembly-plugin(支持自定义打包)。在这个场景中,我们将使用maven-jar-plugin和...

    maven 普通jar 生成规则

    本篇文章将详细解析如何通过 Maven 构建并上传 JAR 文件到中心仓库的过程。 #### Maven 构建与 JAR 文件生成规则 在 Maven 项目中,JAR 文件是通过项目的构建过程自动生成的。为了生成 JAR 文件,首先需要确保项目...

    maven打包成第三方jar包且把pom依赖包打入进来的方法

    以上就是使用Maven打包成第三方JAR包且把pom依赖包打入的方法。通过这个方法打包的JAR包具有很高的可用性,开发者不需要手动处理复杂的依赖关系,只需简单地将JAR包部署到目标环境即可运行。希望本文内容能帮助到你...

    Maven 和Maven下载的jar包库

    本文将深入探讨Maven的核心概念、工作原理以及如何使用Maven下载的jar包库。 **1. Maven简介** Maven是由Apache软件基金会开发的一个项目管理工具,它基于项目对象模型(Project Object Model,POM)的理念,通过...

    maven打可执行JAR包

    `maven-jar-plugin`负责创建JAR,而`maven-dependency-plugin`则用于复制依赖到指定目录。 ```xml &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-jar-plugin &lt;addClasspath&gt;true ...

    maven_jar.zip

    这段配置告诉Maven生成JAR文件时,包含类路径信息,指定主类(即程序入口点)。 接下来,关于“分离jar包及配置文件”,这通常是为了便于管理和更新配置,避免每次升级软件时都需要替换整个JAR。我们可以使用`maven...

    Maven打jar包说明书.docx

    ## 二.Maven打包流程 ### 2.1 Maven clean 在正式进行打包之前,通常需要先清理之前的构建产物,以确保打包过程中不会受到之前构建的影响。 #### Maven clean步骤: 1. 打开IDEA或Eclipse等开发工具。 2. 右键...

    用Maven打成可执行jar,包含maven依赖,本地依赖的操作

    在实际开发中,我们经常需要将 Maven 项目打包成可执行的 jar 文件,并包含 Maven 依赖和本地依赖。下面我们将详细介绍如何使用 Maven 打包可执行 jar 文件,并包含 Maven 依赖和本地依赖。 首先,让我们了解一下 ...

    axis2插件打包生成jar操作视频

    在本例中,"axis2插件打包生成jar操作.exe"可能是一个专为简化Axis2项目打包过程的工具。 4. **打包步骤**: - **配置构建脚本**:首先,我们需要配置构建脚本,如Ant的build.xml或Maven的pom.xml。在这些文件中,...

    maven仓库 jar包

    - **package**: 打包项目,生成jar或war文件。 - **deploy**: 将最终的制品部署到远程仓库。 **Maven的插件** Maven的插件系统非常强大,可以执行各种任务,如编译、测试、打包、部署、清理等。每个插件都有一系列...

    eclipse生成jar包

    4. 在“JAR file”后面的文本框中指定生成JAR包的路径和文件名。同时,确保“Export generated class files and resources”和“Export Java source files and resources”前面的复选框被勾选,然后再次点击“Next”...

    在eclipse中不使用maven创建springboot工程所需jar包

    然而,如果你选择手动管理,确保正确地把这些jar包添加到项目的类路径中,以确保项目能正常运行。每个jar包都在Spring Boot生态中扮演着特定的角色,共同构建了一个完整的运行环境。在没有构建工具的情况下,你需要...

    java打包为jar

    5. 在“Library handling”(库处理)部分,你可以选择“Package required libraries into generated JAR”(将所需的库打包到生成的JAR中)或者“Extract required libraries into generated JAR”(将所需库提取到...

    达梦数7据库j驱动包及方言包,maven依赖jar包,DM达梦数据库jdbc-jar包dialect方言jar包

    在实际开发中,开发者需要将这些JAR文件添加到项目的类路径中,或者如果使用Maven作为构建工具,可以在pom.xml文件中声明对应的依赖,以便在编译和运行时自动下载和管理这些库。这样,Java应用程序就能够利用这些库...

    maven 自动下载jar包工具

    在传统的Java开发中,开发者需要手动下载所需的jar包并添加到项目的类路径中。而Maven通过其配置文件pom.xml,能够根据项目依赖关系自动从远程仓库下载所需的jar包,极大地提高了开发效率。 Maven的核心概念之一是...

    springboot用maven打包1

    当使用Maven的`package`目标来生成JAR文件时,如果不进行特殊配置,生成的JAR通常无法直接运行,原因在于缺少在`META-INF/MANIFEST.MF`文件中指定主类。`MANIFEST.MF`文件是Java应用程序的标准元数据文件,其中包含...

    Maven 打包生成Windows和Liunx启动文件模板

    在给定的标题“Maven打包生成Windows和Linux启动文件模板”中,我们可以深入理解如何使用Maven来创建适用于不同操作系统(如Windows和Linux)的启动脚本。 首先,让我们关注Windows的启动文件`start.bat`。这是一个...

    Izpack Maven打包 第二篇

    标题 "Izpack Maven打包 第二篇" 指向的是一个关于使用Maven和Izpack进行软件打包过程的教程。在这个过程中,Maven是一个流行的构建自动化工具,用于管理和构建Java项目,而Izpack则是一个用于创建安装程序的开源...

Global site tag (gtag.js) - Google Analytics