`

maven-打可执行jar包

阅读更多

 

在使用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文件混淆

    本篇文章将详细讲解如何使用Maven插件`proguard-maven-plugin`来对可执行JAR文件进行混淆。 首先,我们需要理解ProGuard是一个强大的Java类文件混淆器,它可以删除无用的代码,缩短类和方法的名称,以及重新打包类...

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

    使用maven-jar-plugin生成可执行JAR包,主要配置如下: ```xml &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-jar-plugin &lt;version&gt;2.4 &lt;addMavenDescriptor&gt;false &lt;addClasspath&gt;true ...

    maven打可执行JAR包

    在本文中,我们将详细讨论如何使用Maven来创建可执行的JAR包,使得通过`java -jar`命令可以直接运行。我们提供两种方法来实现这个目标。 ### 方法一:使用`maven-assembly-plugin` 1. **集成插件**:在`pom.xml`...

    apache-maven-3.9.6-bin

    1. `bin` 目录:包含可执行脚本,如 `mvn` 和 `mvn.cmd`,它们分别用于Unix/Linux系统和Windows系统,用于运行Maven命令。 2. `lib` 目录:存储了Maven运行所需的库文件,包括核心库、插件和其他依赖项。 3. `conf...

    maven-compiler-plugin-3.8.0-source-release插件

    Maven 插件是一系列可执行任务的集合,它们扩展了 Maven 的核心功能。例如,`maven-compiler-plugin` 是一个非常重要的插件,用于编译项目的源代码。它负责将 Java 源代码编译为字节码,这是软件开发过程中的关键...

    apache-maven-3.9.0-bin.tar

    这个版本包含了运行Maven所需的所有文件,包括可执行脚本、库文件和文档。用户在Linux环境下,可以将此文件移动到期望的目录,然后进行解压,以便使用Maven。 在Linux系统中,你可以使用以下命令来解压这个文件: ...

    SpringBoot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

    `maven-assembly-plugin`是Maven的一个插件,用于生成项目的归档文件,如tar.gz或zip,这在分发和部署软件时非常有用。本篇将详细介绍如何利用`maven-assembly-plugin`在Spring Boot项目中实现这个功能。 首先,`...

    java-maven-ckfinder-2.3-jar包依赖

    完成以上步骤后,当你执行 `mvn install` 或其他 Maven 构建目标时,Maven 将自动下载并管理 CKFinder 2.3 及其所有依赖。接着,你可以在你的 Java 代码中通过 `import` 语句来引用 CKFinder 提供的类,例如 `...

    apache-maven-3.6.0.zip

    1. **bin** 目录:包含Maven的可执行脚本,如`mvn`命令行工具,分别适用于不同的操作系统(Windows, Linux, macOS)。 2. **conf** 目录:包含Maven的配置文件,如`settings.xml`,它是Maven的全局配置,用于设置...

    maven打包 maven打jar包详细步骤

    例如,如果你想要创建一个可执行的JAR,需要在manifest中指定启动类。这通常在`pom.xml`文件中通过以下配置实现: ```xml &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-jar-plugin &lt;version&gt;3.2.0...

    maven资源 apache-maven-3.3.9-bin.zip

    - `bin`:包含Maven的可执行脚本,如`mvn`命令行工具。 - `conf`:存储Maven的配置文件,如`settings.xml`,用于配置本地仓库位置、远程仓库和代理设置。 - `lib`:包含Maven运行所需的库文件。 - `LICENSE`和`...

    maven-compiler-plugin-2.0.2.jar.zip

    《深入解析Maven编译插件:maven-compiler-plugin-2.0.2.jar》 在Java开发领域,Maven作为一个强大的项目管理和构建工具,极大地简化了项目的构建过程。而Maven的核心就在于其插件系统,其中maven-compiler-plugin...

    maven-archetype-quickstart-1.1.jar.zip

    Maven Archetypes是可重用的模板,它们包含了特定类型的项目结构和配置。`maven-archetype-quickstart`是最基础的archetype,适用于创建标准的Java应用。通过指定不同的archetype和版本,你可以创建不同类型的项目,...

    maven-archetype-quickstart-1.4.jar.zip

    在Java开发领域,Maven是一个不可或缺的工具,它是一个项目管理和综合工具体,用来构建、管理和部署Java项目。`maven-archetype-quickstart-1.4.jar.zip` 是一个包含Maven快速启动模板的压缩包,版本为1.4。这个模板...

    apache-maven-3.6.2-bin.tar.gz

    这个压缩包包含了运行Maven所需的所有文件,包括可执行的JAR文件和其他支持文件。解压此文件后,用户可以将Maven配置到其操作系统环境,以便快速下载和管理项目所需的依赖库,如jar包。 在使用Maven之前,首先需要...

    apache-maven-3.8.4-bin.zip 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-bin111.zip"表明这是Apache Maven的3.6.3版本的二进制发行包,通常包含了运行Maven所需的所有文件,包括可执行jar和相关的配置文件。"bin111"可能是特定构建或下载源的标识符,但在标准...

    Maven将带有第三方依赖的可执行程序打包示例

    java 写的可执行程序怎么使用 maven 打包? 执行程序中有巨多第三方依赖包,要一起打进 jar 包,怎么办? maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing....

    apache-maven-3.9.2.zip配置好的阿里云仓库文件

    5. Maven插件:Maven通过插件机制扩展其功能,如maven-compiler-plugin用于编译,maven-surefire-plugin进行测试,maven-jar-plugin打包成JAR文件等。每个插件都有多个目标(goals),这些目标在生命周期的不同阶段...

    apache-maven-3.3.9

    - `bin`目录:包含可执行脚本,如`mvn`命令,用户可以直接运行这些脚本来执行Maven命令。 **6. 使用与配置** 安装Maven时,需要将`bin`目录添加到系统环境变量PATH中,然后就可以在命令行中使用`mvn`命令。`...

Global site tag (gtag.js) - Google Analytics