使用WildFly的JavaEE:找不到Rest资源 - 为什么?

时间:2018-04-29 15:52:44

标签: java rest java-ee wildfly

我试图在后台使用WildFly-Application Server运行一个简单的REST应用程序。但是REST-Call永久地给了我Not Found - 错误。

这是我的RestService - 班级:

@Path("/rest")
public class RestService {


    @GET
    @Path("/hello")
    @Produces(MediaType.TEXT_PLAIN)
    public Response helloWorld() {

        try {
            System.out.println("ABCDEF");
            return Response.status(Response.Status.OK).entity("hello world!").build();
        } catch (Throwable throwable) {
            return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(throwable).build();
        }
    }
}

使用Rest-Configuration-File:

@ApplicationPath("/")
public class JaxRsActivator extends Application {
}

这是我的配置文件:

的pom.xml:

<?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>org.java</groupId>
    <artifactId>JavaEE</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>9</maven.compiler.source>
        <maven.compiler.target>9</maven.compiler.target>
    </properties>

    <build>
        <finalName>javaee</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.0</version>
            </plugin>
        </plugins>
    </build>

的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">
    <display-name>REST</display-name>
</web-app>

的JBoss-web.xml中:

<jboss-web>
    <context-root>services</context-root>
</jboss-web>

和我的项目结构:

enter image description here

我想通过以下网址调用我的Rest-Service:

http://127.0.0.1:8080/services/rest/hello

但它给出了Not Found-Error - 这是什么问题?

1 个答案:

答案 0 :(得分:0)

我发现了错误:

项目结构错误:必须是web而不是webapp