文档章节

Maven 生成可执行的jar包

WallacePang
 WallacePang
发布于 2016/08/12 09:33
字数 262
阅读 7
收藏 0

在平时的工作中,有些时候我们并不需要通过tomcate之类的容器去启动一个Java项目,可以直接使用 java -jar XXX.jar 命令启动。下面提供一种使用maven 插件的方法生车可执行的jar:

<build>
    <finalName>${project.artifactId}</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <classpathPrefix>libs/</classpathPrefix>
              < !-- mainClass  指定启动项目的main 方法所在的类 -->
              <mainClass>XXXXXXXXXXXXXXXXXXXX</mainClass>
              <useUniqueVersions>false</useUniqueVersions>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <!-- 将关联jar包单独打包到文件夹中 方法一,可能初始报错,右击解决 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/libs</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

使用spring-boot-maven-plugin

 <build>
        <finalName>paid-group</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring.boot.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>com.baofoo.cgwfi.paid.web.ApplicationStart</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven-deploy-plugin.version}</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

© 著作权归作者所有

共有 人打赏支持
上一篇: httpclient工具类
下一篇: FTP工具类
WallacePang
粉丝 0
博文 4
码字总数 1448
作品 0
浦东
程序员
私信 提问
用Maven快速生成带有依赖的可执行jar包

一、背景   最近项目在做微服务的拆分,那么我们想让我们的容器启动更加的轻量级,所以我们选择放弃tomcat等容器,而是通过maven生成带有指定依赖的可执行jar包的方式进行处理,本文我将分...

hafiz.zhang
2017/03/12
0
0
使用Maven的assembly插件实现自定义打包

一、背景   最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需...

hafiz.zhang
2017/03/12
0
0
浅谈 java 中构建可执行 jar 包的几种方式

有时候,由于项目的需要,我们会将源码编译后以工具包(class打成jar包)的形式对外提供,此时, 你的 jar 包不一定要是可执行的,只要能通过编译,能被别人以 import 的方式调用就行了。但还...

大数据之路
2013/05/05
0
3
Maven Eclipse使用

Maven是什么 Maven 主要用于Java平台的项目构建,依赖管理,项目信息管理。 Maven可以做什么 完成Java项目的编译,打包构建 jar包依赖管理 自动化单元测试,生成测试报告 Maven 安装 下载最新...

微流
2016/06/21
0
0
Spring Boot 打包,分离依赖jar,配置文件

maven-jar-plugin,负责将应用程序打包成可执行的jar文件 maven-assembly-plugin,负责将整个项目按照自定义的目录结构打成最终的压缩包,方便实际部署 需求1,将依赖的jar提取到可运行的jar...

张欢19933
11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Eos如何删除钱包

在使用Eos的keosd钱包软件时,如果要删除EOS中指定名称的钱包,最简单的办法是直接删除钱包文件,不过在删除钱包之前,需要先停止钱包软件的运行。 学习EOS应用开发要选这个:【EOS智能合约与...

geek12345
2分钟前
0
0
js操作时间

获取当前时间 function getSystemDate(){ var systemDate = new Date(); // 获取当年 var year = systemDate.getFullYear(); // 获取当月 (月+1是因为js中......

简心
9分钟前
0
0
区块链开发教程推荐

区块链的重要性已经毋庸置疑,但对大多数跃跃欲试的开发者而言,去中心化思想、非对称加密、共识算法等技术点的理解和运用,都是入门区块链开发的挑战。合适的区块链开发教程可以极大地缩短区...

笔阁
9分钟前
0
0
菜单menuView总结

1、FTPopOverMenu

_____1____
20分钟前
2
0
MyEclipse教程:Web开发——部署和测试Web项目

MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 本教程向用户展示了使用关联的Web项目创建Web片段项目的机制。用户还可以获得要检查的示例项目。在本教程中,用户将学习如...

电池盒
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部