用Maven打包发布可执行的jar包

项目有个需求,要把当前项目的代码和依赖打包成一个jar包,再把jar包和一些相关文件一起打包成一个tar

这里用到了两个插件,shade 和assembly,shade负责生成jar包,assembly负责打包成tar。pom.xml配置如下:

    <build>
        <plugins>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <finalName>abc-service</finalName>  //打包成的包名
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.abc.Main</mainClass>    //主类名
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                    <descriptors>
                        <descriptor>assembly.xml</descriptor>
                    </descriptors>
                </configuration>
            </plugin>
            .......
        </plugins>
</build>

assembly.xml里定义打包成tar的动作

<assembly>
    <id>beta</id>
    <formats>
        <!-- zip,tar,tar.gz,tar.bz2,jar,dir,war -->
        <format>tar.gz</format>
    </formats>
    <!-- 需要打包的文件集 -->
    <fileSets>
        <fileSet>
            <directory>resource</directory>       //相关文件目录
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
    <files>
        <file>
            <source>${project.build.directory}/abc-service.jar</source>   //源jar包名
            <outputDirectory>/</outputDirectory>
            <destName>abc-service.jar</destName>     //tar内jar包名
        </file>
    </files>  
</assembly>

在maven的执行goals里填写如下:

clean test package assembly:assembly
时间: 2024-10-06 09:34:36

用Maven打包发布可执行的jar包的相关文章

IDEA Maven 打包独立可执行的 jar 包

在 pom.xml 中添加了如下配置后,打包出来的依然是普通的 xxxx.jar 文件,并没有后面的 jar-with-dependencies,经过网上多方寻找之后,参考这篇文章 得到解决 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</vers

maven打一个可执行的jar包

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <

将SeqReader打包成可执行的jar包

SeqReader是我定义的一个读取SequenceFile文件,并将部分(key,value)打印到控制台窗口的类,其完整代码如下: 1 /** 2 * Created with IntelliJ IDEA. 3 * User: hadoop 4 * Date: 16-3-14 5 * Time: 上午9:57 6 * To change this template use File | Settings | File Templates. 7 */ 8 import org.apache.h

maven打包的时候导出依赖jar包

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase

[Maven]Maven构建可执行的jar包(包含依赖jar包)

----------------------------------------------------------------- 转载请注明出处! 博主:疲惫的豆豆 链接:http://www.cnblogs.com/dzblog/p/6913809.html ----------------------------------------------------------------- 目标: 将依赖的第三方jar包打进去 方法: maven-assembly-plugin 环境: IDE

创建可执行的JAR包并运行

将一个应用程序制作成可执行的JAR包,通过JAR包来发布应用程序.创建可执行JAR包的关键在于:让java -jar命令知道JAR包中哪个类是主类,java -jar命令可以通过运行该主类来运行程序.注意:当创建JAR包时,所有的类(即class文件)都必须放在与包结构对应的目录结构中 1.选择想要想要打包的目录 想要打包class文件目录day和程序需要调用的文件目录planeday11是Client类的包名,里面存放着Client.class 2.进入预打包目录所在路径(注意:是要打包目录的

springboot2.0+dubbo-spring-boot-starter聚合项目打可执行的jar包

springboot2.0+dubbo聚合项目打可执行的jar包 springboot2.0+dubbo-spring-boot-starter项目服务方打包和以前老版本的dubbo打包方式不一样,不需要将dubbo的配置文件放到META-INF下的spring文件夹中,和普通的springboot项目打包相似. 一般dubbo项目都是聚合形式的,下面看一下springboot+dubbo-spring-boot-starter聚合打可执行的jar: 一.spring-boot-maven-pl

Maven把项目依赖的所有jar包都打到同一个jar中

目录 1 使用maven-shade-plugin 2 推荐: 使用maven-assembly-plugin 3 扩展: Maven安装本地jar包到本地仓库 4 扩展: 手动生成jar包 5 扩展: Linux下运行jar包的几种方式 5.1 阻塞式方式 5.2 后台运行方式 5.3 后台持续运行方式 5.4 其他命令扩展 1 使用maven-shade-plugin (1) 在项目的pom.xml文件中加入如下插件: <build> <plugins> <!-- Mav

用命令行编译java并生成可执行的jar包

用命令行编译java并生成可执行的jar包 1.编写源代码. 编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java.程序结构如下: package test; import java.awt.*; import javax.swing.*; //更多包的导入... class NotePadFrame extends JFrame { //主界面的设计... } //其他相关代码... public class CardLayo