一.springboot 打包成jar

1.pom.xml

<build>
<!-- jar的名称-->
     <finalName>shiro</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin> <!-- 1、设置jar的入口类 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.cd.shiro.Application</mainClass>
</manifest>
</archive>
</configuration>
</plugin> <!--2、把附属的jar打到jar内部的lib目录中 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin> <!-- 3、打包过程忽略Junit测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin> </plugins>
<!-- 过滤resources 下的html-->
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>html/**</exclude>
</excludes>
</resource>
</resources>
</build>

2、maven打包:mvn clean package

生成的jar包会在项目的target目录下

3、运行jar包,命令行下:

java -jar xxxx.jar

4、父子工程项目,可在父工程pom.xml中指定打包到统一目录中,上面步骤二将附属jar打包到lib  ${project.build.directory} 就是路径

注意:如果此方式出现打包后的数据混乱请使用方法5.

    <build>
<!--项目打包路径 比如源代码在 f:/project 会打包生成在f:/target下面.
如何部署?
两种方式:
一:只上传合并后的jar
.将f:/target下面的 *.jar(M为单位) 上传到服务器 执行 java -jar *.jar执行
二:源代码和maven引入的包分离
.第一次部署需要把lib整个文件夹,和*.original上传,去掉original后缀 rename .original '' * 执行java -jar *.jar
.后面每次修改了那个源代码就只替换就行,新增了引入的jar也只需要上传新增的jar到lib目录中。
-->
<directory>/target</directory> <!--此处有坑-->
</build>

5、父子工程项目打包,父工程指定到统一目录中。

    <!-- 将子项目打包的copy到指定目录-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<!--把子项目target目录下的jar拷贝到/target下-->
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<type>${project.packaging}</type>
<overWrite>true</overWrite>
<!--copyTo的目录-->
<outputDirectory>/target</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<!-- copy lib copy-dependencies copy依赖包-->
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>/target/lib</outputDirectory>
</configuration>
</execution> </executions> </plugin>
</plugins> </build>

maven 打包jar && lib的更多相关文章

  1. Maven打包Jar

    现状 该项目使用了Maven,并且引入了Spring,包含代码.配置文件.Jar包,使用的是IDEA来作为开发工具,项目的产出物是要打包成一个可运行的Jar包.通过IDEA的打包工具也可以打包成功,只 ...

  2. MAVEN 打包JAR

    <build> <finalName>edu-service-user</finalName> <resources> <resource> ...

  3. Maven打包jar项目

    默认情况下,使用maven打包的jar项目(执行maven install)不会包含其他包引用,要想打包为带其他项目引用的jar,需要加入插件 要得到一个可以直接在命令行通过java命令运行的JAR文 ...

  4. 部署项目问题(maven打包jar不对应,导致启动时一直找不到某个类)

    项目是springboot+maven  打包用maven的插件package 下面是打包后的目录结构  project-1.0 和project-1.0.tar.gz是一样的  区别就是一个是压缩包 ...

  5. 在Eclipse中用Maven打包jar包--完整版

    将本地的jar导入到maven本地库中 <!--手动加入库中 --><!-- mvn install:install-file -DgroupId=org.apache.Hadoop ...

  6. idea使用maven打包jar包

    1.在pom.xml中加入以下内容: <?xml version="1.0" encoding="UTF-8"?> <project xmln ...

  7. maven打包 jar

    最后更新时间: 2014年11月23日 1. maven-shade-plugin 2. maven-assembly-plugin 3. maven-onejar-plugin maven-shad ...

  8. maven打包jar源码至私服

    1. setting文件 配置私服中设置的用户和密码 <servers> <server> <id>releases</id> <username ...

  9. maven打包jar包

    参考http://www.cnblogs.com/justinzhang/p/4983633.html 新建jar类型的maven project (选择simple project ) 配置 < ...

随机推荐

  1. springboot 的 @Async

    /** * Created by zhiqi.shao on 2018/4/3. */ @EnableAsync @Configuration public class TaskPoolConfig ...

  2. 01 DOS常用命令

    有时候没有可视化窗口,命令行对文件进行操作更方便快捷 cmd 命令弹出 dir 查看当前所在目录下的文件 ctrl+c 退出 \a 显示隐藏文件 cd /改变到根目录 dir /a 显示隐藏文件 di ...

  3. 【转载】java list的一些基本操作

    1.list中添加,获取,删除元素 List<String> person=new ArrayList<>(); person.add("jackie"); ...

  4. 死磕itchat源码--config.py

    itchat的配置文件,源码: import os, platform # 版本及微信的url,二维码等 VERSION = '1.3.10' BASE_URL = 'https://login.we ...

  5. UI Testing

    UI Test能帮助我们去验证一些UI元素的属性和状态.Apple 在 Xcode 7 中新加入了一套 UI Testing 的工具,其目的就是解决自动化UI测试这个问题.新的 UI Testing ...

  6. package、folder和source folder的区别

    在用myeclipse工具开发java的过程中,新建目录时发现会有package,folder和source folder等不同类型的选项, 因此在网上搜集了一些资料:如下 以下文章转自:https: ...

  7. 操作符重载、继承(day08)

    二十 操作符重载 函数操作符"()" 功能:让对象当做函数来使用 注:对参数的个数.返回类型没有限制 eg: class A{...}; A a; //a.operator()(1 ...

  8. phpcms v9 邓士鹏(石家庄职业技术学院)

    头部标题.关键词.描述调用: <title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title'] ...

  9. SCU - 4110 - PE class

    先上题目: 4110: PE class Submit your solution     Discuss this problem     Best solutions   Description ...

  10. redhat超级用户密码破解

    1. 开机在出现grub画面,按e键 2. 用上下键选中第二项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/) 然后按e键编辑 3. 空格sing ...