无法在Spring Boot应用程序(Tomcat服务器)中运行localhost

时间:2017-07-11 09:21:19

标签: maven tomcat spring-boot pom.xml spring-tool-suite

我使用以下教程学习Spring:https://www.youtube.com/playlist?list=PLqq-6Pq4lTTbx8p2oCgcAQGQyqN8XeA1x

我创建了一个Maven项目,并在参考这些视频时尝试运行Spring Boot应用程序:

https://www.youtube.com/watch?v=E7_a-kB46LU&index=9&list=PLqq-6Pq4lTTbx8p2oCgcAQGQyqN8XeA1x

我试图在Tomcat服务器上运行我的Spring应用程序,但localhost不起作用。 (港口8080)

我的pom.xml看起来像这样:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.javabrains.springbootquickstart</groupId>
  <artifactId>course-api-new</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Java Brains Course API</name>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.2.RELEASE</version>
  </parent>

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

  <properties>
        <java.version>1.8</java.version>
  </properties>

</project>

CourseApiApp.java:

package io.javabrains.springbootstarter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class CourseApiApp {

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

    }

}

根据视频,localhost应该在运行应用程序时显示白名单错误,但它根本不会运行。

任何帮助将不胜感激,谢谢!

10 个答案:

答案 0 :(得分:4)

我建议你从一开始就开始你的项目。要创建有效的spring-boot项目,您可以为web启动器应用程序提供非常好的基于Web的生成器。

对于具有嵌入式tomcat的Web应用程序,您应该使用STS项目。

enter image description here

使用new -> spring starter project,您可以通过选择pom.xml来创建相同的内容。

将出现一个向导,您可以选择项目信息:

enter image description here

然后在第二步中依赖:

enter image description here

生成项目后,<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.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> </project> 看起来应该是这样的:

localhost:8080

您的应用程序应该正常启动,并且tomcat会监听 int wave[] = {}; for(int i = 0; i < 4000; i = i + 100){ //add to wave[] i }

答案 1 :(得分:3)

解决方案::将Web Starter依赖项添加到pom.xml中以实现Maven

无需创建新应用。只需将此启动器依赖项更改为starter-web依赖项:


入门

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

入门网站

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

答案 2 :(得分:0)

默认情况下,STS可能使用Tomcat版本7,如果您碰巧使用版本8,则需要在pom.xml中指定相同的内容

<properties>
    <tomcat.version>8.0.47</tomcat.version>
</properties>

答案 3 :(得分:0)

您应该尝试以sudo

运行spring-boot
sudo mvn spring-boot:run

答案 4 :(得分:0)

我也面临同样的问题。尝试通过在STS中选择Spring Boot启动程序项目来创建Spring Boot应用程序。 右键单击STS-> New-> Spring Starter Project->给定名称,然后单击Next->选择Web并在Web上打勾,然后搜索Dev Tools并在Dev Tools上打勾,然后单击Finish

现在单击项目并以Spring Boot Application身份运行。

答案 5 :(得分:0)

在application.properties中,将server.port = 8080

答案 6 :(得分:0)

我遇到了类似的问题。我也遵循JavaBrains SpringBoot示例。这是我所做的: 我使用STS工具创建了一个全新的Spring Boot项目,并包含了与您提供的代码相同的代码,并且有效!

答案 7 :(得分:0)

您需要告诉springboot您必须在哪里扫描参考类

@SpringBootApplication
@ComponentScan(basePackages= {"com.testbean.controller", "com.testbean.model", "com.testbean.service"}) 
public class DemoApplication {

答案 8 :(得分:0)

使用@ComponentScan(“ io.javabrains”)并提及存在Controller的软件包。例如。

@SpringBootApplication
@ComponentScan("io.javabrains")
public class CourseApiApp {
    public static void main(String[] args) {
        SpringApplication.run(CourseApiApp.class, args);
    }
}

在Spring Boot应用程序中,默认情况下,spring在同一包中搜索具有@SpringBootApplication批注的组件。

答案 9 :(得分:0)

按照本教程设置 JavaJDK、Tomcat 和 Maven:https://jeromejaglale.com/doc/spring4_tutorial/installation_macos

下一步移至终端应用程序:输入 cd root_project 并运行 sudo mvn spring-boot:run