因为jeecgboot单体应用打包的jar包太大了,得200M左右,每次更新后上传云服务器有点费劲,所以看了官网有分离打包部署的方法,但是按照官网的步骤啊,发现会出现问题,我现在把我最后成功的配置写下来,我的版本是jeecg-boot-2.4.6,如果其他版本就只能参考下了。
主要是修改jeecg-boot-module-system模块的pom.xml文件,因为我是用这个模块启动的,作为单体应用的jar包。配置如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.3.5.RELEASE</version> <configuration> <mainClass>org.jeecg.JeecgSystemApplication</mainClass> <layout>ZIP</layout> <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <!-- 该插件的作用是复制依赖的jar包到指定的文件夹里 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${maven-dependency-plugin.version}</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> <!-- 该插件的作用是复制指定的文件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven-resources-plugin.version}</version> <!--开启后jks文件不过滤,https访问时打开该配置--> <!--<configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>jks</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration>--> <executions> <!-- 复制配置文件 --> <execution> <id>copy-resources</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <!--复制资源文件到外部,注意这里先不做filtering处理,防止某些静态文件损坏--> <resource> <filtering>false</filtering> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> </resource> <!--仅针对配置文件filtering处理(占位符@@等)--> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>*.xml</include> <include>*.yml</include> <include>*.properties</include> </includes> </resource> </resources> <outputDirectory>${project.build.directory}/config</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>
上面的插件我都加上了版本号了,因为不加的话我的INTELJ IDEA会报错,不影响但是不爽,所以加上了版本号去掉报错信息。
这样mvn clean install之后会在jeecg-boot-module-system模块的target目录下生成几个文件夹,jxyey-boot-module-system-2.4.6.jar的大小才6m多,方便上传发布。
如何部署呢
把上图圈出来的三个文件上传到云服务器上去,假如放在/data/jeecg-boot-module-system/目录下,那么启动命令如下:
cd /data/jeecg-boot-module-system/
nohup java -Dloader.path=lib,config -jar jeecg-boot-module-system-2.4.6.jar >jeecg-001.log 2>&1 &
要确保云服务器的java版本是1.8版本的,java -version