启动jar时出现spring boot错误404

Posted

技术标签:

【中文标题】启动jar时出现spring boot错误404【英文标题】:spring boot error 404 while starting jar 【发布时间】:2017-08-26 16:04:51 【问题描述】:

我正在尝试运行一个 Spring Boot 应用程序。我从教程中下载了一个代码,所以我知道该代码有效。当我运行我的 jar 文件时,它看起来就像我在端口 8080 上运行的应用程序,但我仍然得到任何 URL 的 404,我从来没有得到弹簧白标签页面。我检查了我没有在端口 8080 上运行其他任何东西,以及我启动并运行的服务器。

我不知道为什么我的应用程序没有响应。

running the jar

error 404

package com.virtualpairprogrammers;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by masn on 2017-04-01.
*/

@RestController
public class HelloController 

    @RequestMapping("/hello")
    public String sayHello()
        return "Hello";
    



enter code here

包 com.virtualpairprogrammers;

导入 org.springframework.boot.SpringApplication; 导入 org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication 公共类 FleetmanApplication

public static void main(String[] args) 
    SpringApplication.run(FleetmanApplication.class, args);

enter code here

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>com.virtualpairprogrammers</groupId>
<artifactId>fleetman</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>fleetman</name>
<description>VPP´s Fleet Management Application</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

【问题讨论】:

至少我应该得到白标签页面?是的,我尝试添加控制器.... 对不起。现在检查,没有做任何设置,并按照教程进行操作,它在视频中 100% 相同的说明。 好吧,在视频中,他明确指出 defaul 是任何请求类型,它适用于他,没有说明任何方法。 添加了你的建议还是同样的问题 localhost:8080/hello 【参考方案1】:

如果您运行命令 java -jar YourAppName.jar,您必须位于根文件夹内 (fleetman) 并且不在目标内 目标 .jar 所在的文件夹。 这是一个常见错误,因此请在fleetman 文件夹中运行命令。

你可能想用这个来更新 pom.xml

 <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <executable>true</executable>
        </configuration>
    </plugin>

【讨论】:

【参考方案2】:

试试这样就行了:

@RestController
public class HelloController 

    @RequestMapping(path = "/hello", method = RequestMethod.GET)
    public String hello() 
        return "hello";
    

这是我从电脑上截取的屏幕截图:

【讨论】:

这很丢脸,但对我不起作用.....所以它一定是计算机特定的问题 显然我尝试的一切都是正确的,我想我将重新格式化我的计算机并再试一次...... Mattias 显然你尝试的一切都不正确,因为它会运行。你配置错了......顺便说一句,它也适用于我...... 您尝试添加path="/hello"method=RequestMethod.GET 对吗? 当然,我也尝试下载我知道可以工作的不同示例 springboot 项目。甚至现在在我的另一台计算机上尝试过它并且工作正常......很明显它是特定于计算机的......

以上是关于启动jar时出现spring boot错误404的主要内容,如果未能解决你的问题,请参考以下文章

Eureka Server 在 Spring Boot 中启动时出现错误

为啥在启动 Spring Boot 应用程序时出现 Gson builder 错误?

容器化 Spring Boot 应用程序时出现 Docker 错误

修改 Spring boot 启动端口号 Spring Boot 监听端口被占用无法启动

为依赖于其他项目的 Spring Boot 应用程序创建胖 jar 时出现异常

运行Spring Boot APP时出现Spring Boot问题