簡體   English   中英

在Wildfly 9.0.2中部署Spring Boot App

[英]Deploying Spring Boot App in Wildfly 9.0.2

我想將一個簡單的Spring Boot Rest應用程序部署到Wildfly 9.0.2服務器中。 它似乎已部署,但無法訪問任何服務。

我一直在遵循各種指示,例如: https : //docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html

但似乎仍然不適合我。

這是我的pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

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

<groupId>com.vodafone.er</groupId>
<artifactId>config-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>config-app</name>
<description>Demo project for Spring Boot</description>

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

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <start-class>com.vodafone.er.configapp.ConfigAppApplication</start-class>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
            </exclusion>
        </exclusions>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-parameter-names</artifactId>
        <version>2.8.7</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>2.8.7</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>2.8.7</version>
    </dependency>
</dependencies>

<!--<build>-->
    <!--<plugins>-->
        <!--<plugin>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
            <!--<configuration>-->
                <!--<jvmArguments>-->
                    <!-- -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005-->
                <!--</jvmArguments>-->
            <!--</configuration>-->
        <!--</plugin>-->
    <!--</plugins>-->
<!--</build>-->

這是我的應用程序/控制器類:

@SpringBootApplication
@ComponentScan
@EnableAutoConfiguration
public class ConfigAppApplication extends     
    SpringBootServletInitializer {

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

    @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(ConfigAppApplication.class);
        }
    }

    @RestController
    class ConfigController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

我將其部署在$ JBOSS_HOME / standalone / deployments上,它告訴我它已部署。

15:51:12,008 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0016: Replaced deployment "config-app-0.0.1-SNAPSHOT.war" with deployment "config-app-0.0.1-SNAPSHOT.war"

然后我得到了標記文件:

config-app-0.0.1-SNAPSHOT.war.deployed

jmx控制台也告訴我該應用程序也已啟用。 每當我嘗試訪問端點時(例如,當我嘗試訪問根上下文時,我都將禁止訪問403),但是當我嘗試訪問其余資源(例如,localhost:8080 / config-app / hello)時,我將收到404錯誤。

有什么想法我做錯了嗎?

謝謝

Wildfly使用undertow servlet容器。 嘗試在您的應用程序中添加對此的支持。

參考: 73.13使用Undertow代替Tomcat

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
</dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM