在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序(默认情况下,maven在做mvn pakage时,只是将项目编译打包到一个jar中,其他的类库则需要引用才行)。
用到 assembly插件
一.简单实用打jar包
在pom.xml中加入以下插件
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>cn.vsp.TestMain</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
上述代码中在<mainClass></mainClass>之间是填写程序的入口类,即含main方法的类
2.编辑完上述插件后,再执行
mvn assembly:assembly
这是就会在target目录下生成 *.jar 文件
3.运行jar文件
java -jar *.jar
二.详细应用插件配置
assembly 目前还支持zip,tar,tar.gz,tar.bz2,jar,dir,war格式
更多的插件配置需要 另外的配置:
使用maven assembly插件需要在pom文件中配置,添加这个插件
<plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> <executions> <execution> <id>make-zip</id> <!-- 绑定到package生命周期阶段上 --> <phase>package</phase> <goals> <!-- 绑定到package生命周期阶段上 --> <goal>single</goal> </goals> <configuration> <descriptors> <!--描述文件路径--> <descriptor>src/assembly/assembly.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin>
其中execution节点,我们配置了执行maven assembly插件的一些配置,descriptor节点配置指向assembly.xml的路径。
在assembly.xml配置了,我们打包的目录以及相应的设置
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> <id>distribution</id> <formats> <format>zip</format> </formats> <fileSets> <fileSet> <directory>${project.basedir}\src\main\resources</directory> <outputDirectory>\</outputDirectory> </fileSet> <fileSet> <directory>${project.basedir}\src\bin</directory> <outputDirectory>\bin</outputDirectory> </fileSet> </fileSets> <dependencySets> <dependencySet> <useProjectArtifact>true</useProjectArtifact> <outputDirectory>lib</outputDirectory> <!-- 将scope为runtime的依赖包打包到lib目录下。 --> <scope>runtime</scope> </dependencySet> </dependencySets></assembly>
更多节点的用法可以去官网查询
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
相关推荐
本篇文章将详细讲解如何使用Maven插件`proguard-maven-plugin`来对可执行JAR文件进行混淆。 首先,我们需要理解ProGuard是一个强大的Java类文件混淆器,它可以删除无用的代码,缩短类和方法的名称,以及重新打包类...
使用maven-jar-plugin生成可执行JAR包,主要配置如下: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-jar-plugin <version>2.4 <addMavenDescriptor>false <addClasspath>true ...
在本文中,我们将详细讨论如何使用Maven来创建可执行的JAR包,使得通过`java -jar`命令可以直接运行。我们提供两种方法来实现这个目标。 ### 方法一:使用`maven-assembly-plugin` 1. **集成插件**:在`pom.xml`...
1. `bin` 目录:包含可执行脚本,如 `mvn` 和 `mvn.cmd`,它们分别用于Unix/Linux系统和Windows系统,用于运行Maven命令。 2. `lib` 目录:存储了Maven运行所需的库文件,包括核心库、插件和其他依赖项。 3. `conf...
Maven 插件是一系列可执行任务的集合,它们扩展了 Maven 的核心功能。例如,`maven-compiler-plugin` 是一个非常重要的插件,用于编译项目的源代码。它负责将 Java 源代码编译为字节码,这是软件开发过程中的关键...
这个版本包含了运行Maven所需的所有文件,包括可执行脚本、库文件和文档。用户在Linux环境下,可以将此文件移动到期望的目录,然后进行解压,以便使用Maven。 在Linux系统中,你可以使用以下命令来解压这个文件: ...
`maven-assembly-plugin`是Maven的一个插件,用于生成项目的归档文件,如tar.gz或zip,这在分发和部署软件时非常有用。本篇将详细介绍如何利用`maven-assembly-plugin`在Spring Boot项目中实现这个功能。 首先,`...
完成以上步骤后,当你执行 `mvn install` 或其他 Maven 构建目标时,Maven 将自动下载并管理 CKFinder 2.3 及其所有依赖。接着,你可以在你的 Java 代码中通过 `import` 语句来引用 CKFinder 提供的类,例如 `...
1. **bin** 目录:包含Maven的可执行脚本,如`mvn`命令行工具,分别适用于不同的操作系统(Windows, Linux, macOS)。 2. **conf** 目录:包含Maven的配置文件,如`settings.xml`,它是Maven的全局配置,用于设置...
例如,如果你想要创建一个可执行的JAR,需要在manifest中指定启动类。这通常在`pom.xml`文件中通过以下配置实现: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-jar-plugin <version>3.2.0...
- `bin`:包含Maven的可执行脚本,如`mvn`命令行工具。 - `conf`:存储Maven的配置文件,如`settings.xml`,用于配置本地仓库位置、远程仓库和代理设置。 - `lib`:包含Maven运行所需的库文件。 - `LICENSE`和`...
《深入解析Maven编译插件:maven-compiler-plugin-2.0.2.jar》 在Java开发领域,Maven作为一个强大的项目管理和构建工具,极大地简化了项目的构建过程。而Maven的核心就在于其插件系统,其中maven-compiler-plugin...
Maven Archetypes是可重用的模板,它们包含了特定类型的项目结构和配置。`maven-archetype-quickstart`是最基础的archetype,适用于创建标准的Java应用。通过指定不同的archetype和版本,你可以创建不同类型的项目,...
在Java开发领域,Maven是一个不可或缺的工具,它是一个项目管理和综合工具体,用来构建、管理和部署Java项目。`maven-archetype-quickstart-1.4.jar.zip` 是一个包含Maven快速启动模板的压缩包,版本为1.4。这个模板...
这个压缩包包含了运行Maven所需的所有文件,包括可执行的JAR文件和其他支持文件。解压此文件后,用户可以将Maven配置到其操作系统环境,以便快速下载和管理项目所需的依赖库,如jar包。 在使用Maven之前,首先需要...
在"apache-maven-3.8.4-bin.zip"这个压缩包中,你会找到Maven的可执行文件和配置文件,包括`bin`目录下的启动脚本,`conf`目录中的settings.xml,这个文件可以配置本地仓库位置、远程仓库地址以及其他定制设置。...
标题中的"apache-maven-3.6.3-bin111.zip"表明这是Apache Maven的3.6.3版本的二进制发行包,通常包含了运行Maven所需的所有文件,包括可执行jar和相关的配置文件。"bin111"可能是特定构建或下载源的标识符,但在标准...
java 写的可执行程序怎么使用 maven 打包? 执行程序中有巨多第三方依赖包,要一起打进 jar 包,怎么办? maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing....
5. Maven插件:Maven通过插件机制扩展其功能,如maven-compiler-plugin用于编译,maven-surefire-plugin进行测试,maven-jar-plugin打包成JAR文件等。每个插件都有多个目标(goals),这些目标在生命周期的不同阶段...
- `bin`目录:包含可执行脚本,如`mvn`命令,用户可以直接运行这些脚本来执行Maven命令。 **6. 使用与配置** 安装Maven时,需要将`bin`目录添加到系统环境变量PATH中,然后就可以在命令行中使用`mvn`命令。`...