这是我的项目结构:
├ pom.xml
├ Procfile
├ src
│ ├─ main
│ │ ├ java
│ │ │ └ spring
│ │ │ └ tests
│ │ │ ├ Application.java
│ │ │ └ GreetingController.java
│ │ └ resources
│ │ └ templates
│ │ └ index.html
Application
是一个简单的SpringApplication
,其中包含运行它的主要方法:
SpringApplication.run(Application.class, args);
GreetingController
包含:
@CrossOrigin
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index() {
return "index";
}
使用maven
构建项目时,在本地运行:
java -Dserver.port=8080 -jar target/*.jar
一切按预期工作,并加载index
模板。但是,当我将其部署到Heroku时,我得到:
TemplateInputException: Error resolving template "index"
我的Procfile
非常简单:
web: java -Dserver.port=$PORT -jar target/*.jar
为什么它在本地工作正常但无法在Heroku上加载? (我跟着几乎所有相关的Stack Overflow问题,其中没有一个能为我工作)。
答案 0 :(得分:0)
问题出在我的index.html
文件中。我有:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
出于某种原因,它在本地工作,但在从Heruko运行时抛出异常。解决方案正在将http
更改为https
:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
↑