SpringBoot-项目打成Jar包,出现页面无法跳转

本文介绍了一个关于Thymeleaf在使用jar包运行时出现的模板加载错误,并给出了正确的返回视图路径的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

thymeleaf在开发环境正常,但用jar运行时报错 Error resolving template template might not exist or might not be accessible

 Error resolving template "login", template might not exist or might not be accessible by any of the configured Template Resolvers

 错误的方式:

@RequestMapping(value="", method = RequestMethod.GET)
public String Index() {
       return "/message/myMessage";
}

正确的方式:

@RequestMapping(value="", method = RequestMethod.GET)
public String Index() {
       return "message/myMessage";
}

 

### 将非SpringBoot项目打包JAR文件的方法 对于非SpringBoot项目的Java应用程序,可以通过Maven或Gradle工具来构建并生成标准的JAR文件。以下是实现这一目标的具体方法: #### 使用Maven打包SpringBoot项目 如果使用的是Maven作为构建工具,则可以配置`pom.xml`文件中的插件部分以支持JAR文件的生成。默认情况下,Maven会自动为Java项目创建一个普通的JAR文件。 在`pom.xml`中添加以下内容即可完成基本设置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <!-- 定义入口类 --> <mainClass>com.example.MainApp</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> ``` 上述代码片段定义了一个名为`MainApp`的主类作为程序启动点[^1]。通过运行命令 `mvn clean package` 可以生成最终的JAR文件。 #### 手动指定引导类路径(bootclasspath) 当需要自定义加载某些特定库时,可通过参数 `-c, --bootclasspath` 来显式声明所需的引导类路径资源位置。这通常用于解决依赖冲突或其他高级场景下的需求。 #### Spring Boot与普通JAR的区别 值得注意的是,在Spring Boot应用中,默认采用嵌入式的Tomcat服务器以及其他特性使得其能够独立运行而无需额外部署环境;而对于传统方式构建的标准JAR来说,它们仅含业务逻辑及相关组件,并不自带任何容器功能[^2]。 因此,如果你希望得到类似于MyProject那样可以直接执行(`java -jar`) 的版本号命名形式 (如 myproject-0.0.1-SNAPSHOT.jar),则需确保已正确定位到合适的 Main 方法所在之处并通过 Maven 或 Gradle 设置好相应的 manifest 属性值。 最后提醒一点,虽然这里讨论的内容主要围绕着 Java SE 平台上的常规做法展开论述,但在实际开发过程中还可能涉及到其他框架或者技术栈的选择问题,所以具体情况还需具体分析处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值