为什么我不能在Eclipse Maven Project中将类导入到Java文件中?

时间:2019-06-15 18:19:23

标签: 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类的示例代码。我无法找到要放入我的pom.xml文件的Maven信息,该文件使我可以在项目中使用该类。如何找到正确的信息?

1 个答案:

答案 0 :(得分:0)

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

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

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

由于Maven的默认范围是可编译的,因此您也可以省略scope标记。

默认情况下,Maven将从Maven Central存储库导入依赖项。如果Maven Central不包含您的依赖项(我没有检查过),则必须在pom.xml中指定一个包含此依赖项的存储库,并带有这种形式的存储库(请注意,repo只是一个示例-替换为包含您的依赖性)

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