Spring boot 打包时含有外部引用的jar包,打包没有打入lib中解决方法

SpringBoot引入外部jar包,并打包jar进行部署

Maven的pom文件引入如下依赖(示例):

<dependency>
<groupId>com.xx.xx</groupId>
<artifactId>xx</artifactId>
<version>xx</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/xx.jar</
</dependency>

resource添加如下配置:

WAR包部署

 <!--第三方jar包打包到WEB-INF目录下-->
<resource>
<directory>${project.basedir}/src/main/resources/lib</directory>
<targetPath>${project.build.directory}/${project.build.finalName}/WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>

JAR包部署

<!--第三方jar包打包到BOOT-INF/lib/目录下-->
<resource>
<directory>${project.basedir}/src/main/resources/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>

Nginx代理SpringBoot服务

WAR包部署

通常方式,不多补充。

JAR包部署

applicatoin.yml片段

server:
port: 8012
servlet:
context-path: /

nginx下配置片段

upstream XXX {
server 192.168.0.129:8012 weight=5 max_fails=3 fail_timeout=15s;
}
location /项目名/ {
index index.jsp;
proxy_pass http://XXX/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_body_buffer_size 128k;
proxy_connect_timeout 120;
proxy_send_timeout 200;
proxy_read_timeout 200;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

由于springboot的context-path: /,这里nginx访问的时候需要proxy_pass http://XXX/,注意:末端/需要携带。

  • http://XXX/:访问请求带项目名
  • http://XXX:访问请求直接从根路径/开始

其他用例:

springboot

server:
port: 8012
servlet:
context-path: /test

nginx

location /项目名/ {
index index.jsp;
proxy_pass http://XXX/test/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_body_buffer_size 128k;
proxy_connect_timeout 120;
proxy_send_timeout 200;
proxy_read_timeout 200;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}