目录
- 打jar包
- 打war包
- 排错
- 获取包外位置
- eclipse找不到*.jar
打jar包
-
修改 application-dev.yml
spring.thymeleaf.prefix=file:./templates/
-
(非必须!如果遇到找不到模板的情况这样做)把templates文件夹复制到jar文件同级的目录。 但是无法解决war文件的问题只能解决jar文件的问题。 参考:[DEBUG] spring boot在eclipse中用maven打包成jar访问templates报500错误
-
修改 pom
-
修改入口
-
打包
Run as–>maven clean
Run as–> maven build这里新建的命令是:
-
执行
linux下执行:java -jar XXX.jar
不挂断运行+输出重定向:
nohup java -jar XXX.jar >temp.txt &
解释:
nohup
:不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
>temo.txt
:输出重定向
&
:放在后台执行如何移到前台?
jobs列出所有后台执行的作业,每个前面都有编号
fg 编号即可
打war包
打war包就是排除掉tomcat服务器,然后直接放在服务器运行。相比来说比jar包简单太多。
pom.xml
其他需要修改的地方与打jar包相同,只是templates不用外放
放到:/usr/local/apache-tomcat-xxx/webapps
然后进入:/usr/local/apache-tomcat-xxx/bin
sudo sh startup.sh
之后浏览器访问:http://localhost:8080/MyApp/index
其中MyApp是前面<finalName>
的内容。
文档结构:
排错
获取包外位置
如果需要访问包外的路径,怎么办?
在application-dev.yml中配置自己的路径,如
然后新建一个类
内容是:
package com.example.demo.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ConfigurationProperties("storage")
@Component
public class StorageProperties {
private String location; // 获取配置的值
private String datalocation;
// setter getter
}
然后要用的时候直接拿来用,自动装配:
eclipse找不到*.jar
pom报错,说XXX.jar missing了,那么先看报错的路径是不是真的没有那个jar,如果真没有,去maven repository下一个jar放到指定路径下,一般是
C:\Users\Dell\.m2\repository\org
下某个文件夹。
不要额外单独导入jar包,可能会缺失什么东西。