项目发布的时候需要部署到centos服务器上,记录一下部署的时候遇到的问题
后端问题:
后端部署的时候一直提示alibaba的druid里的tools未找到,导致打jar包失败
解决办法:在ruoyi-framework的pom包里找到alibaba的druid坐标,然后排除即可。
排除掉这两个jar包即可
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun</groupId>
<artifactId>jconsole</artifactId>
</exclusion>
</exclusions>
前端问题:
后端部署好项目后,前端需要修改对应的后端接口地址和端口,此处遇到个小问题,无法修改端口,访问后端一直是用80端口访问的,导致接口无法找到404,
解决办法:
将此处修改为后端的端口,然后npm run build:prod打正式包,
此时前端项目还是没办法调用接口的,需要在nginx里面配置一下,
location /prod-api/
{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8899/;
}
这样前端就可以访问后端的接口了,本来以为可以的时候结果登录的时候又出岔子了,
登录后提示
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter。
解决办法如下,在ruoyi-admin的pom.xml里面配置以下代码即可,注意是在dependencies标签包含的里面配置,这样就大功告成了,散会!
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>