打jar包

  1. 修改 application-dev.yml
    spring.thymeleaf.prefix=file:./templates/
    在这里插入图片描述

  2. 非必须!如果遇到找不到模板的情况这样做)把templates文件夹复制到jar文件同级的目录。 但是无法解决war文件的问题只能解决jar文件的问题。 参考:[DEBUG] spring boot在eclipse中用maven打包成jar访问templates报500错误

  3. 修改 pom
    在这里插入图片描述
    在这里插入图片描述

  4. 修改入口
    在这里插入图片描述

  5. 打包

    Run as–>maven clean
    Run as–> maven build

    这里新建的命令是:
    在这里插入图片描述

  6. 执行
    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包,可能会缺失什么东西。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐