【问题标题】:Getting package javax.ws.rs does not exist error获取包 javax.ws.rs 不存在错误
【发布时间】:2026-02-15 19:20:03
【问题描述】:

我不断收到 javax.ws.rs 错误,而我的依赖项应该是正确的。我该如何解决这个问题?

我正在使用 IntelliJ IDE,当我将它导入我的项目时,它确实可以识别 javax.ws.rs.*。它没有给出任何错误。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>


<dependencies>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.2.6.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.johnzon</groupId>
        <artifactId>johnzon-jaxrs</artifactId>
        <version>0.9.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>1.9.13</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.johnzon</groupId>
        <artifactId>johnzon-jaxrs</artifactId>
        <version>1.1.7</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.44</version>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.192</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.github.binout</groupId>
        <artifactId>jaxrs-unit-api</artifactId>
        <version>1.1.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.github.binout</groupId>
        <artifactId>jaxrs-unit-resteasy</artifactId>
        <version>1.1.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

【问题讨论】:

  • 您在何处/何时收到“获取包 javax.ws.rs 不存在”错误?你能通过 Navigate 导航到这个包中的类吗?集体诉讼?另外,由于您将语言级别设置为 1.8,我假设您没有使用 java 9 模块,对吧?
  • 感谢您的评论。问题是我的项目在 OneDrive 上。

标签: java maven intellij-idea


【解决方案1】:

是的,您的依赖项似乎是正确的。

尝试更新 Idea 的 Maven 索引 as described here。转到首选项并在搜索框输入Repositories,然后在 Maven 部分下找到它,在表格中选择远程仓库并按更新按钮。

您可能会遇到另一个问题,当更新索引需要无限时间时(“处理索引”阶段无论如何都需要几分钟) - 只需使用this answers 来解决问题。对于give more memory,您可以使用Help->Edit Custom VM Options 并将xmx 设置为2g 之类的东西

【讨论】:

  • 你可以试试 File -> Invalidate Caches / Restart... 并按下 Invalidate and Restart 按钮吗?
  • 是的,我也这样做了,但没有改变任何东西。我很确定这应该是我的 IDE 的问题,因为该项目是一个现有的并且正在运行的项目。
  • 您是否尝试在 IDE 之外构建它?也许问题出在您当地的 maven repo 上?在您的主文件夹中找到.m2 目录。然后转到 .m2/repository/javax/ws/rs 并删除其内容。之后在 IDE 中重新导入 maven 项目
  • 我的项目位于我的 OneDrive 位置。将它放在我的 C:/ 驱动器上后,它立即起作用。感谢您的宝贵时间!
【解决方案2】:

问题是我的项目位于我的 OneDrive 位置。这给我带来了很多麻烦,但是一旦我将它移到本地驱动器,它就解决了所有问题。

【讨论】: