springboot jar分离部署
·
springboot jar分离部署
- 注意:spring boot web项目别使用jsp页面,可以使用模板代替,jsp打包时访问页面会报404错误。
1.具体配置如下:
<build>
<plugins>
<!-- 1. Spring Boot 核心打包插件(移除无效的resolveDependencies目标) -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.13</version>
<!-- 和springboot版本一致-->
<configuration>
<!-- 替代废弃的layout,2.x+推荐使用layoutMode -->
<!--<layoutMode>ZIP</layoutMode>-->
<!-- 主Jar包仅包含自身项目代码,排除第三方依赖 -->
<includes>
<include>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
</include>
</includes>
<!-- 指定主启动类(可选,多启动类时必须指定) -->
<mainClass>com.jyzy.sjzt.SJZTApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<!-- 仅保留有效核心目标:repackage(重新打包生成可执行主Jar) -->
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 2. 新增Maven官方依赖插件:复制第三方依赖到lib目录(实现依赖分离) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.5.0</version> <!-- 稳定版本,可兼容大部分Spring Boot项目 -->
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase> <!-- 绑定到package打包阶段,自动执行 -->
<goals>
<goal>copy-dependencies</goal> <!-- 有效目标:复制所有依赖 -->
</goals>
<configuration>
<!-- 依赖输出目录:target/lib(与主Jar包同级) -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<!-- 排除可选依赖(可选,减少lib目录体积) -->
<excludeOptional>true</excludeOptional>
<!-- 排除系统依赖(可选) -->
<excludeSystemScope>true</excludeSystemScope>
</configuration>
</execution>
</executions>
</plugin>
<!-- 3. 配置maven-jar-plugin:指定类路径,让主Jar能找到lib目录下的依赖 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath> <!-- 启用类路径配置 -->
<classpathPrefix>lib/</classpathPrefix> <!-- 依赖相对路径(指向同级lib目录) -->
<mainClass>com.jyzy.sjzt.SJZTApplication</mainClass> <!-- 主启动类 -->
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
2.打包目录如下:
lib
xxx.yml
xxx-1.0.jar
3.运行:
java -jar xx.jar --loader.path=lib --spring.config.location=config/application.yml --debug
<!-- --debug查看项目日志 -->
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)