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

是否可以在同一个项目中使用jersey和java websockets(ServerEndpoint)

牟华翰
2023-03-14

当我使用jersey开发一个rest api应用程序时,我遇到了一个问题,我需要为特定的业务逻辑部分实现一个websocketendpoint。

我提出这个问题是因为我认为jersey与javaee-api工件之间存在一些依赖关系冲突。

<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/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>edu.finki.misw.busline</groupId>
<artifactId>busline</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>busline</name>

<build>
    <finalName>busline</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <inherited>true</inherited>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey</groupId>
            <artifactId>jersey-bom</artifactId>
            <version>${jersey.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax/javaee-api -->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>

    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
        <!-- artifactId>jersey-container-servlet</artifactId -->
    </dependency>
    <!-- uncomment this to get JSON support
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
    </dependency>
    -->
</dependencies>
<properties>
    <jersey.version>2.23.2</jersey.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

共有1个答案

奚英朗
2023-03-14

当然,您可以在同一个项目中使用WebSocketRS服务。

要向maven项目添加WebSocket支持,请向POM添加以下依赖项。

 <dependency>
     <groupId>javax.websocket</groupId>
     <artifactId>javax.websocket-api</artifactId>
     <version>1.1</version>
     <scope>provided</scope>
 </dependency>
 类似资料:
  • 问题内容: 是否必须在使用注释和hibernate配置文件之间做出严格选择,还是可以在同一项目中同时使用两种方式? 我们有一个使用Hibernate 3.2.5和POJO配置文件的大型项目。该项目使用的是Hibernate Factory,而不是基于JTA的工厂。 以这种方式配置了一百多个POJO,原始开发人员团队不愿意切换到注释。 同时,我们需要用更多的POJO扩展项目,这些POJO我们愿意使用

  • 问题内容: 我正在尝试设置一些环境变量(用于对dev / prod端点进行API调用,取决于dev / prod等的键等),我想知道使用dotenv是否行得通。 我已经安装了dotenv,并且正在使用webpack。 我的webpack条目是,因此在该文件中 然后,在我的webpack配置中,输入以下内容: 但是,它仍未定义。如何正确执行此操作? 问题答案: 最简洁的答案是不。浏览器无法访问本地或

  • dagger2是否可以和Guice一样与jersey一起使用? 是否有任何dagger2 servlet或dagger2 jersey项目?

  • 我有一个使用google drive android API构建的项目,但我想共享一个上传到云中的文件,我在另一个问题中读到,这只是可能使用REST API。所以我问你,有一种方法可以在同一个项目中使用这两个API? 谢谢

  • 我正在使用React构建一个简单的项目,我希望它连接到一个数据库(mongodb Atlas)。但是,我只能使用Node连接到我的数据库。是否可以在同一个端口3000上运行两个节点和反应? 我还将Express与Node一起使用,因为我发现在制作具有相同navBar和页脚的新页面时使用ejs文件非常方便。 有没有可能把这三个人放在一个港口?

  • 问题内容: 我必须在同一Maven项目中使用注释处理(apt)和AspectJ。 两者都适合自己,但是我需要基于apt创建的代码来创建方面。因此,我需要进行二进制编织(原始源文件由apt扩展)。如何在Maven项目中启用二进制编织? 我知道唯一的标准选项是使用weaveDependencies参数提供依赖关系,但这太糟糕了。还有其他办法吗? 好的,我可以使用Maven Antrun插件嵌入Aspe