遵循Jersey教程

3

我正在尝试使用Grizzly作为Web容器来跟随jersey教程的第一部分。我只是在进行"Hello World!"部分并尝试运行我的代码。这是我要部署的Web服务的主要内容。

    public class Main {

    public static void main(String [] args) throws IOException {
        final String baseUri = "http://localhost:9998";
        final Map<String, String > initParams = new HashMap<String, String>();


        initParams.put("com.sun.jersey.config.property.packages", "com.sun.ws.rest.samples.helloworld.resources");

        System.out.println("Starting grizzly");
        SelectorThread threadSelector = GrizzlyWebContainerFactory.create(baseUri,initParams);

        System.out.println(String.format("Jersey app started with WADL available at %sapplication.wadl Try out %shelloworld. Hit enter to stop it...", baseUri, baseUri));

        System.in.read();
        threadSelector.stopEndpoint();
        System.exit(0);
    }
}

当我运行这个代码时,我总是会得到以下结果:
Exception in thread "main" java.lang.IllegalArgumentException: The URI path, of the URI http://localhost:9998, must be present
at com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory.create(GrizzlyWebContainerFactory.java:236)
at com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory.create(GrizzlyWebContainerFactory.java:138)
at com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory.create(GrizzlyWebContainerFactory.java:105)
at Main.main(Main.java:29)

有人知道发生了什么吗?我确保我的包都是正确的。我不知道如何配置grizzly,只是试图学习如何使用Jersey。

1个回答

9
 final String baseUri = "http://localhost:9998/";

请注意最后的/符号,你漏掉了它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接