【问题标题】:Why my maven get so many red wave lines below their dependencies?为什么我的 Maven 在它们的依赖项下面有这么多红色波浪线?
【发布时间】:2017-04-26 14:44:21
【问题描述】:

我用IntelliJ IDEA打开项目,项目是eclipse创建的,我刷新了我的maven,下载了源码。

为什么我的每个依赖项下仍然有这么多红色波浪线?

有人知道怎么解决吗?

【问题讨论】:

  • 当你将鼠标悬停在它上面时它会说什么?
  • “红线”通常有属于它们的错误消息。如果没有这些信息,几乎不可能说出确切的问题。
  • 您似乎需要重新导入您的项目。如果你已经这样做了,并且仍然有红线,请在 shell 中尝试 maven -- cd 到你的项目根目录并输入mvn clean install。然后查看~/.m2/repository 文件夹,看看它是否充满了有趣的东西,比如junit。从 shell 运行 mvn 后,尝试重新导入 idea。最后,关闭项目并选择“打开”,然后选择项目的根 pom,然后告诉 intellij 创建一个新项目,不要重用旧项目中的任何内容。
  • @EngineerDollery 怎么办?
  • 那么“刷新我的 Maven”是什么意思?通常您还必须重新构建您的项目才能找到依赖项

标签: java maven intellij-idea


【解决方案1】:

由于证书,Intellij 可能无法从您的 Maven 存储库获取依赖项。如果您使用 Artifactory,并且 URL 以 HTTPS 开头,您可能需要将证书添加到 Intellij 的信任库。

步骤如下:

在终端中:

openssl s_client -showcerts -servername <hostname> -connect <hostname>:443 </dev/null

将 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE----- 的行复制到名为 artifactory.cert 的文件中。

然后,在终端中:

keytool -import -file artifactory.cert -alias artifactory -keystore C:\truststores\intellij.truststore.jks

当提示输入密码时,输入密码。

在 Intellij 中,选择帮助 > 编辑自定义 VM 选项(它可能会提示您第一次创建文件)。

添加以下 JVM 参数:

-Djavax.net.ssl.trustStore=C:\truststores\intellij.truststore.jks
-Djavax.net.ssl.trustStorePassword=<the password you created above>

如果还是不行,请尝试关闭项目,删除项目的 .idea 目录,然后打开项目。

【讨论】:

    【解决方案2】:

    首先我不推荐使用&lt;scope&gt;system&lt;/scope&gt; 依赖。始终尝试阻止它们,因为这表明您不了解 Maven 的概念,因为它使用了自动处理的依赖项,这意味着从 Maven Central 或从公司存储库管理器下载。

    如果你使用它们而不是正确使用它们,这意味着:

      <dependencies>
        <dependency>
           <groupId>..</groupId>
           <artifactId>..</artifactId>
           <version>..</version>
           <scope>system</scope>
           <systemPath>...</systemPath>
        </dependency>
        ...
      </dependencies>
    

    问题是你在 pom.xml 文件的其他地方有相同的部分,它不属于它......

    【讨论】:

    • 尽管您的代表非常出色,但我认为您没有正确阅读问题。我真的不认为他的问题是单一错误的系统依赖。
    • 你当然可以这样想,但是 pom 文件有一个定义的 XSD,如果不满足,IDE 不能正确读取,这意味着它不能被正确解释,从而导致错误.所以我建议先解决问题,然后再进一步观察。除此之外,我总是建议先检查命令行上的构建,如果没问题,就再进一步使用 IDE...
    • 我可以在代码中看到 systemPath -- 我认为悬停可能会遮挡您所指的那个。
    猜你喜欢
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2021-05-18
    • 2023-03-19
    • 2021-02-02
    • 2016-05-22
    相关资源
    最近更新 更多