<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提供了多种打包插件,如maven-jar-plugin(默认的JAR打包插件)、maven-shade-plugin(用于生成可执行的fat JAR)和maven-assembly-plugin(支持自定义打包)。在这个场景中,我们将使用maven-jar-plugin和...
本篇文章将详细解析如何通过 Maven 构建并上传 JAR 文件到中心仓库的过程。 #### Maven 构建与 JAR 文件生成规则 在 Maven 项目中,JAR 文件是通过项目的构建过程自动生成的。为了生成 JAR 文件,首先需要确保项目...
以上就是使用Maven打包成第三方JAR包且把pom依赖包打入的方法。通过这个方法打包的JAR包具有很高的可用性,开发者不需要手动处理复杂的依赖关系,只需简单地将JAR包部署到目标环境即可运行。希望本文内容能帮助到你...
本文将深入探讨Maven的核心概念、工作原理以及如何使用Maven下载的jar包库。 **1. Maven简介** Maven是由Apache软件基金会开发的一个项目管理工具,它基于项目对象模型(Project Object Model,POM)的理念,通过...
`maven-jar-plugin`负责创建JAR,而`maven-dependency-plugin`则用于复制依赖到指定目录。 ```xml <groupId>org.apache.maven.plugins <artifactId>maven-jar-plugin <addClasspath>true ...
这段配置告诉Maven生成JAR文件时,包含类路径信息,指定主类(即程序入口点)。 接下来,关于“分离jar包及配置文件”,这通常是为了便于管理和更新配置,避免每次升级软件时都需要替换整个JAR。我们可以使用`maven...
## 二.Maven打包流程 ### 2.1 Maven clean 在正式进行打包之前,通常需要先清理之前的构建产物,以确保打包过程中不会受到之前构建的影响。 #### Maven clean步骤: 1. 打开IDEA或Eclipse等开发工具。 2. 右键...
在实际开发中,我们经常需要将 Maven 项目打包成可执行的 jar 文件,并包含 Maven 依赖和本地依赖。下面我们将详细介绍如何使用 Maven 打包可执行 jar 文件,并包含 Maven 依赖和本地依赖。 首先,让我们了解一下 ...
在本例中,"axis2插件打包生成jar操作.exe"可能是一个专为简化Axis2项目打包过程的工具。 4. **打包步骤**: - **配置构建脚本**:首先,我们需要配置构建脚本,如Ant的build.xml或Maven的pom.xml。在这些文件中,...
- **package**: 打包项目,生成jar或war文件。 - **deploy**: 将最终的制品部署到远程仓库。 **Maven的插件** Maven的插件系统非常强大,可以执行各种任务,如编译、测试、打包、部署、清理等。每个插件都有一系列...
4. 在“JAR file”后面的文本框中指定生成JAR包的路径和文件名。同时,确保“Export generated class files and resources”和“Export Java source files and resources”前面的复选框被勾选,然后再次点击“Next”...
然而,如果你选择手动管理,确保正确地把这些jar包添加到项目的类路径中,以确保项目能正常运行。每个jar包都在Spring Boot生态中扮演着特定的角色,共同构建了一个完整的运行环境。在没有构建工具的情况下,你需要...
5. 在“Library handling”(库处理)部分,你可以选择“Package required libraries into generated JAR”(将所需的库打包到生成的JAR中)或者“Extract required libraries into generated JAR”(将所需库提取到...
在实际开发中,开发者需要将这些JAR文件添加到项目的类路径中,或者如果使用Maven作为构建工具,可以在pom.xml文件中声明对应的依赖,以便在编译和运行时自动下载和管理这些库。这样,Java应用程序就能够利用这些库...
在传统的Java开发中,开发者需要手动下载所需的jar包并添加到项目的类路径中。而Maven通过其配置文件pom.xml,能够根据项目依赖关系自动从远程仓库下载所需的jar包,极大地提高了开发效率。 Maven的核心概念之一是...
当使用Maven的`package`目标来生成JAR文件时,如果不进行特殊配置,生成的JAR通常无法直接运行,原因在于缺少在`META-INF/MANIFEST.MF`文件中指定主类。`MANIFEST.MF`文件是Java应用程序的标准元数据文件,其中包含...
在给定的标题“Maven打包生成Windows和Linux启动文件模板”中,我们可以深入理解如何使用Maven来创建适用于不同操作系统(如Windows和Linux)的启动脚本。 首先,让我们关注Windows的启动文件`start.bat`。这是一个...
标题 "Izpack Maven打包 第二篇" 指向的是一个关于使用Maven和Izpack进行软件打包过程的教程。在这个过程中,Maven是一个流行的构建自动化工具,用于管理和构建Java项目,而Izpack则是一个用于创建安装程序的开源...