当前位置: 首页 > 知识库问答 >
问题:

Wildfly swarm:无法访问jax rs资源(404未找到)

宰烈
2023-03-14

我想试试wildfly swarm。我用Jax-rs-fraction和一个简单的hello-world资源创建了一个项目。我查过了,但找不到404。

这是我的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.aca.studies</groupId>
<artifactId>swarm</artifactId>
<version>1.0</version>

<properties>
    <version.wildfly-swarm>2017.7.0</version.wildfly-swarm>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>wildfly-swarm-plugin</artifactId>
            <version>${version.wildfly-swarm}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>package</goal>
                    </goals>
                </execution>
                <execution>
                    <id>start</id>
                </execution>
                <execution>
                    <id>stop</id>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>jaxrs</artifactId>
        <version>${version.wildfly-swarm}</version>
    </dependency>
</dependencies>

这是我的Jax rs资源

package org.aca.studies;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/app")
public class Resource {

  @GET
  @Path("/greet")
  @Produces("text/html")
  public String greet() {
    return System.currentTimeMillis() + "";
  }
}

如您所见,这非常简单。也许我错过了什么。我没有添加@Application ationPath注释类,因为根据留档(https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/common/jax-rs.html),该部分默认添加一个。我从GitHub(https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/jaxrs/jaxrs)上的示例中了解到的另一件事是:

由于WildFly Swarm应用程序倾向于支持每个可执行文件一次部署,因此它会自动添加一个jboss web。如果部署尚不存在,则将其转换为xml。这用于将部署绑定到web服务器的根,而不是使用。war自己的名称作为应用程序上下文。

所以我想从http://localhost:8080/app/greet获取资源

共有1个答案

微生欣怡
2023-03-14

从您的pom来看,我认为问题在于您没有<代码>

如果您将Maven包装更改为WAR,那么应该没问题

 类似资料:
  • 我有一个Laravel应用程序,在我的public/js文件夹中有一些javascript文件。在127.0运行我的应用程序时。0.1:8000/Laravel无法打开JS文件。错误404: 我认为这可能与身份验证有关,所以我已经在public/js文件夹上执行了chmod 777。但那没用。 我把它们输入如下:

  • 使用postman,我访问keycloak api方法进行推理,以避免在我的angular应用程序中将key cloak页面作为登录页面。我从属于主域的域中获取access_token,但在访问另一个域(为特定于angular应用程序创建)时,将token作为授权承载token我的请求,得到404 not found错误。 从主域获取access_token 使用承载令牌访问其他领域

  • 我正在libs文件夹中使用Android-support-v7-appcompat.jar lib 我的目标是使我的应用程序兼容2.3或以上

  • 问题内容: 我有一个包含要分发的资源(主要是缓存,日志记录等的配置)的文件。 我对这些资源的相对路径有疑问,所以我做了在另一个stackoverflow问题中发现的问题,该问题说这是有效的方法: 不幸的是,这不起作用。 有任何想法吗?谢谢! PS:显然我不能使用绝对路径,如果可能,我想避免使用环境变量 问题答案: 确保资源文件夹在项目设置中列为源文件夹。另外,确保在构建jar时将资源文件夹设置为导

  • 我想访问项目“\src\main\resources”的资源形式,但由于任何原因,我只能访问目标类。这是我的代码: 这里是我的Project Dir: 问题是,即使我删除了目标/类中的所有文件并运行代码,编译器也会将文件从“src/main/ressource”复制到“目标/类”中并从那里读取它们。

  • 从quarkus集装箱码头,我可以使用以下命令访问keycloak服务器 返回200状态;但无法访问受保护的资源。 我在这里做错了什么?