spring-boot 1.5.14 球衣无法正常工作

jersey with spring-boot 1.5.14 not working

我正在尝试使用 spring-boot 1.5.14 制作一个 jersey jax-rs rest 项目。 我已经使用 spring jersey starter 依赖。但没有工作。 请看下面我的 pom。

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.14.BUILD-SNAPSHOT</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
<dependences>
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>
</dependences>

它不工作。 @Path @Get 那些所有 jax-rs 注释都没有解析。 我添加了

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.1</version>
</dependency>

那就解决了。另一个问题来了。

注册(RequestContextFilter.class);没有解决。 然后我添加了---

<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-common</artifactId>
    <version>2.24.1</version>
</dependency>

现在已解决,但运行时出现新错误。 org/jvnet/hk2/spring/bridge/api/SpringBridge class 未找到 def。 我又补充了---

<dependency>
    <groupId>org.glassfish.hk2</groupId>
    <artifactId>spring-bridge</artifactId>
    <version>2.2.0-b14</version>
</dependency>

现在出现了不同的错误--- org/glassfish/hk2/api/ServiceLocatorFactory$CreatePolicy class 未找到定义。 我又补充了。

 <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-api</artifactId>
        <version>2.1.9</version>
    </dependency>

现在它正在给予---- org/glassfish/hk2/utilities/binding/AbstractBinder class 未找到 def

我已经添加了h2k api 又是给 java.lang.NoClassDefFoundError:org/glassfish/hk2/api/ServiceLocator。 我升级了 hk2 api 版本。然后 class 未找到 jersey.repackaged.com.google.common.base.Function 我添加了

<dependency>
    <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
    <artifactId>jersey-guava</artifactId>
    <version>2.25.1</version>

现在它最后给出了-“没有提供生成器并且没有注册默认生成器-IllegalArgs 异常。

如果我全部拒绝。然后它抛出 no implementation found for hibernate validator

可能是因为您使用 BUILD-SNAPSHOT 作为 Spring 引导父版本。如果你打算使用快照版本,那么你需要在你的 pom.xml 中配置一个快照存储库。这就是 Jersey starter 依赖无法解决的原因。您要使用的是 RELEASE 版本。所有 Spring 发布版本都以此后缀结尾。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.14.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>