java - 为什么我无法将类导入 Eclipse Maven 项目中的 java 文件?

标签 java eclipse maven import package

我需要在我的 Maven Java 项目中使用 AuthenticationRequest。我在网上搜索了一下,在这个页面( OpenID Connect authentication )找到了 AuthenticationRequest ,表明这个库包含 AuthenticationRequest 。我通过该网站上的链接访问此页面 ( com.nimbusds:oauth2-oidc-sdk-6.13 API Doc ) 并找到软件包列表。我在 Maven Repository 找到了这个库.

我在 Eclipse 的 Maven 项目中的 pom.xml 中添加了信息。更新的项目。但我无法导入任何以“com.nimbusds.oauth2”开头的包。

这是我放入 pom.xml 文件中的该库的依赖信息:

<!-- https://mvnrepository.com/artifact/com.nimbusds/oauth2-oidc-sdk -->
<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>oauth2-oidc-sdk</artifactId>
    <version>6.13</version>
    <scope>runtime</scope>
</dependency>

我正在遵循使用 AuthenticationRequest 类的示例代码。我无法找到 Maven 信息来放入我的 pom.xml 文件中,该文件允许我在项目中使用该类。我如何找到合适的信息?

最佳答案

由于您正在开发一个依赖于 AuthenticationRequest 类进行编译的类,因此您的 Maven 目标将是在运行时之前。 Maven 运行时范围不合适。

您需要修改 pom.xml 以指定编译范围:

<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>oauth2-oidc-sdk</artifactId>
    <version>6.13</version>
    <scope>compile</scope>
</dependency>

由于 Maven 的默认作用域是编译,因此您也可以省略作用域标记。

默认情况下,Maven 将从 Maven 中央存储库导入依赖项。如果 Maven Central 不包含您的依赖项(我没有检查过),您必须在 pom.xml 中指定一个包含该依赖项的存储库(请注意,该存储库只是一个示例 - 替换一个包含该依赖项的真实存储库)你的依赖)

 <repositories>
        <repository>
            <id>some-example-repo</id>
            <url>http://some.example.repo/some_example_path/</url>
        </repository>
  </repositories>

关于java - 为什么我无法将类导入 Eclipse Maven 项目中的 java 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56613014/

相关文章:

java - 图标而不是三个点 Android 菜单

java - 参数化测试: Collection not read by JUnit?

java - 在 Eclipse 中的父项目之间移动 Maven 模块

java - java中如何限制每行的字符数?

java - 访问包中的文件

eclipse - 编译自定义 OpenDaylight API 时出错

eclipse - Scala Worksheet Eclipse 插件中的结果编码

java - 无法运行使用 Java 10 从 Spring Initializer 创建的基于 Maven 的 Spring 项目

maven - 在 Powermock 中使用 jacoco 离线检测时缺少 jacoco.exec 文件

c++ - 使用 maven-nar-plugin 在 Maven 中构建 C++ 项目