Springboot企业级部署解决方案

简介: 使用springboot的童鞋们,有没曾经想把项目打包成 bin/conf/libs/logs 等这样的结构然后直接运行的,但是找了很多办法都不够完美(因为G是个完美主义) 好了直接来看解决方案: 1、修改执行打包的子工程的pom.
使用springboot的童鞋们,有没曾经想把项目打包成 bin/conf/libs/logs 等这样的结构然后直接运行的,但是找了很多办法都不够完美(因为G是个完美主义 14.gif
好了直接来看解决方案:
1、修改执行打包的子工程的pom.xml文件(加入两个插件):
<build>
<finalName>app</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>script/**</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<skip>true</skip>
<archive>
<manifest>
<mainClass>com.xxx.bbb.MyMainClass</mainClass>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Class-Path>./</Class-Path>
<Built-By>Wangl.sir</Built-By>
<Built-Mail-By>983708408@qq.com</Built-Mail-By>
<Bundle-Name>Project Description </Bundle-Name>
<Implementation-Vendor></Implementation-Vendor>
<Implementation-URL>http://www.xxx.com/wiki</Implementation-URL>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>app-${project.version}-bin</finalName>
<!-- not append assembly id in release file name -->
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assemble/package.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

2、新增assemble配置文件(保存至src/main/assemble/package.xml):
<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.0.0.xsd">
<id>jar-with-dependencies</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
                        <!-- src/main/resources/script目录保存的如:app_ctrl.sh、app_start.sh、app_stop.sh等脚本,maven-assemble会将此目录下的.sh文件复制到最后生成的bin目录下 -->
<directory>src/main/resources/script</directory>
<outputDirectory>bin</outputDirectory>
<includes>
<include>*.*</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>conf</outputDirectory>
<includes>
<include>*.*</include>
</includes>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>libs</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>logs</outputDirectory>
<excludes>
<exclude>*.*</exclude>
<exclude>script/**</exclude>
</excludes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>libs</outputDirectory>
<scope>runtime</scope>
<excludes>
<exclude>${groupId}:${artifactId}</exclude>
</excludes>
</dependencySet>
</dependencySets>
</assembly>

3、最后就只需执行  mvn clean install -DskipTests
等待maven执行完成,在target目录下会出现app-{project.version}-bin.zip

目录
相关文章
|
7月前
|
Java 微服务 Spring
技术不行还说Java卷!靠468页SpringBoot企业级项目实战成功逆袭
今年应届生就业的话真的是个难题,就以java来说,往年会SSM框架就可以轻松找到工作了,而现在都是以微服务分布式起步了,没有适应环境发展需求的技术栈,根本达不到企业的用人标准。
|
Java 测试技术 容器
SpringBoot单元测试报空指针异常解决方案
java.lang.NullPointerException空指针异常 1.测试类中产生空指针异常,可能不是你的逻辑代码写错了,而是因为获取容器失败,即没有使用正确的测试方法 2.在SpringBoot项目中我们一般可以使用两种Junit进行测试,在导入@Test包时,会出现两个选项
SpringBoot单元测试报空指针异常解决方案
|
NoSQL 数据可视化 关系型数据库
SpringBoot 多模块项目打包部署保姆级教程
SpringBoot 多模块项目打包部署保姆级教程
990 0
SpringBoot 多模块项目打包部署保姆级教程
|
XML Java 测试技术
springboot 整合 apache camel实现企业级数据集成和处理
springboot 整合 apache camel实现企业级数据集成和处理
2760 0
springboot 整合 apache camel实现企业级数据集成和处理
|
22天前
|
前端开发 Java 微服务
SpringBoot 企业级简化开发(一)
SpringBoot 企业级简化开发
94 1
|
7月前
|
前端开发 Java 测试技术
靠这份SpringBoot实战手册搭建企业级商城项目,斩获京东offer!
为什么会越来越流行SpringBoot? Spring Boot已经成为企业招聘需求的重要部分了。这也使得Spring Boot成为Java开发人员必备的技术栈。无论应届毕业生还是有经验的Java开发人员,Spring Boot技术栈及相关项目经验都已经成为他们简历中的必要元素
49 0
|
3月前
|
供应链 前端开发 Java
基于SSM框架springBoot实现的企业级进销存ERP系统【源码+数据库+毕设】
基于SSM框架springBoot实现的企业级进销存ERP系统【源码+数据库+毕设】
|
4月前
|
数据采集 JSON JavaScript
SpringBoot+Vue(二)ES6模块化、SPA-Vue企业级开发和Vue全家桶
SpringBoot+Vue(二)ES6模块化、SPA-Vue企业级开发和Vue全家桶
101 0
SpringBoot+Vue(二)ES6模块化、SPA-Vue企业级开发和Vue全家桶
|
9月前
|
消息中间件 安全 前端开发
Spring Boot企业级开发课后习题答案
Spring Boot企业级开发课后习题答案
152 0
|
SQL 弹性计算 前端开发
使用aliyunECS服务器+宝塔面板部署springboot后端项目并测试接口
在部署过程中遇到了很多问题,解决起来也是十分繁琐,这里写个笔记记录一下遇到的问题和思路 这里我先打算测试以下后端接口,前端代码还没有进行运行。 还没有购买域名,因为域名需要备案时间要一周所以暂时使用公网ip进行访问。