Примечание. Аналогичные вопросы относятся к этому, но ни одно из решений не работает для меня. Я потратил несколько дней, пытаясь заставить это работать.Веб-приложение Spring boot не работает на Tomcat - ошибка 404
Я развернул WAR-файл для Tomcat, и «Tomcat Web Application Manager» показывает, что он запущен. Когда я нажимаю на веб-приложение «/ предсказатель», я получаю ошибку 404. Веб-приложение работает при запуске из отладчика (IntelliJ). Файл WAR назван "forecaster.war" и пути я попытался это: http://localhost:8080/forecaster/ http://localhost:8080/forecaster/forecast/ http://localhost:8080/forecaster/forecast/1
"catalina.sh старт" выход:
Using CATALINA_BASE: /Library/Tomecat
Using CATALINA_HOME: /Library/Tomecat
Using CATALINA_TMPDIR: /Library/Tomecat/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
Using CLASSPATH: /Library/Tomecat/bin/bootstrap.jar:/Library/Tomecat/bin/tomcat-juli.jar
Tomcat started.
build.gradle:
buildscript {
ext {
springBootVersion = '1.4.3.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.springframework.boot:spring-boot-devtools:1.4.3.RELEASE")
classpath("org.springframework:spring-jdbc:4.3.5.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'idea'
apply plugin: 'war'
jar {
baseName = 'forecaster'
version = '0.0.3-SNAPSHOT'
}
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenCentral()
}
bootRun {
addResources = true
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile("org.springframework.boot:spring-boot-starter-freemarker")
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-web-services')
compile('org.springframework.boot:spring-boot-starter-jdbc')
compile("org.springframework:spring-jdbc")
compile("org.springframework.boot:spring-boot-devtools")
runtime('org.postgresql:postgresql')
compileOnly('org.projectlombok:lombok')
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testCompile('org.springframework.boot:spring-boot-starter-test')
}
ForecasterApplication.java:
package com.brian.project.forecaster;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.spring
framework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication(exclude=DataSourceAutoConfiguration.class)
public class ForecasterApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ForecasterApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(ForecasterApplication.class, args);
}
}
ForecastController.java:
package com.brian.project.forecaster.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.brian.project.forecaster.services.DatabaseRepository;
import org.springframework.stereotype.Controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Controller
public class ForecastController {
@Autowired
private DatabaseRepository databaseRepository;
@RequestMapping(value = "forecast/{id}")
public String getForecastForChain(@PathVariable Integer id, Model model) throws JsonProcessingException, IOException
{
model.addAttribute("futureForecastData", "Say 404 again I dare you...");
model.addAttribute("storeName", "test store name");
return "forecast";
}
}
Проклятые Благодаря тонну человек, которого ты спас меня, я был у него в течение нескольких часов, я попытался запустить его из IDE работает главный класс в качестве приложения Java, используя МВН установки и и Java -jar ничего не работал, то же 404, только инструкции в статье работали для работы, все еще не уверены, почему – Sam2016
@ Sam2016 Добро пожаловать. Мне определенно потребовалось некоторое время, чтобы заставить его работать. – Brian