Java ClassNotFoundException:org.eclipse.jetty.util.Decorator

Java ClassNotFoundException:org.eclipse.jetty.util.Decorator,java,maven,jersey,jetty,embedded-jetty,Java,Maven,Jersey,Jetty,Embedded Jetty,我正在尝试使用jetty构建一个自包含的web服务器。因为我发现手动管理所需的jar有点困难,所以我决定使用Maven。 通过以下示例和教程,我以以下内容结束: <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.3.0.RC0</version>

我正在尝试使用jetty构建一个自包含的web服务器。因为我发现手动管理所需的jar有点困难,所以我决定使用Maven。 通过以下示例和教程,我以以下内容结束:

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-server</artifactId>
    <version>9.3.0.RC0</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-servlet</artifactId>
    <version>9.3.0.RC0</version>
</dependency>
我尝试了不同的版本,还有其他缺少的类。 启动服务器的代码如下所示:

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");

Server jettyServer = new Server(8383);
jettyServer.setHandler(context);

ServletHolder jerseyServlet = context.addServlet(
    org.glassfish.jersey.servlet.ServletContainer.class, "/*");
jerseyServlet.setInitOrder(0);

// Tells the Jersey Servlet which REST service/class to load.
jerseyServlet.setInitParameter("jersey.config.server.provider.classnames",
    EntryPoint.class.getCanonicalName());

try {
    jettyServer.start();
    jettyServer.join();
} finally {
    jettyServer.destroy();
}

因为它也在使用Jersey,我也依赖Jersey,我没有发布,因为错误似乎在jetty中。不应该这么难,但确实如此。有什么想法吗?

我也有同样的问题。查看jersey容器jetty http,您可以注意到它在旧版本中使用jetty util。因此,一旦排除了此依赖项(如下面的示例),它应该可以正常工作

<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-jetty-http</artifactId>
    <version>${version.jersey}</version>
    <exclusions>
        <exclusion>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-util</artifactId>
        </exclusion>
    </exclusions>
</dependency>

org.glassfish.jersey.containers
泽西集装箱码头http
${version.jersey}
org.eclipse.jetty
码头

版本9.3.0.M0存在相同的问题。
泽西集装箱码头http不帮我。 解决方案:

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>9.3.0.M0</version>
</dependency>

org.eclipse.jetty
码头
9.3.0.M0

jetty有比RC0更新的版本。不确定更新到更高版本是否有用。是否考虑过使用Dropwizard?它有所有必要的依赖项(如jetty、jersey、jackson)捆绑在一起,非常容易使用。@JaroslawPawlak我是一个.NET的家伙,今天我花了一整天的时间来尝试这些东西。我感到很痛苦和沮丧。c#works中的这种东西不会发生。正如@Goibniu所说,
9.3.0.RC0
是一个不稳定的/测试版/测试版。使用更稳定的版本(
9.3.6.v20151106
是最新版本)。此外,当您遇到错误/异常时,您应该在问题中包含整个stacktrace(这有助于回答此类问题),您的pom文件中是否定义了更多的依赖项?您使用的是什么java版本?我已经在pom文件中添加了org.glassfish.jersey.containers依赖项,它可以工作(我正在使用java8)。
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>9.3.0.M0</version>
</dependency>