启动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的主要内容,如果未能解决你的问题,请参考以下文章