【问题标题】:intellij flags properties set by maven-resources-plugin as "cannot resolve symbol"intellij 将 maven-resources-plugin 设置的属性标记为“无法解析符号”
【发布时间】:2013-06-29 21:01:41
【问题描述】:

在我项目的 POM 中,我使用 maven-resources-plugin 从文件中设置一些属性。但是,Intellij 在 POM 中将这些属性引用标记为错误“无法解析符号”,可能是因为它无法看到它们在任何地方定义。有没有办法抑制这个错误?

【问题讨论】:

  • 如果您按 alt-enter 键,是否有可以禁用检查的选项?
  • @vikingsteve 不,唯一的选项是“合并标签”和“拆分当前标签”
  • 想知道您是否能够用空白值定义它们,然后用 maven-resources-plugin 覆盖它们?

标签: maven intellij-idea maven-resources-plugin


【解决方案1】:

警告:将属性空白定义为 vikingsteve 提到的解决方案非常危险,因为在 pom.xml 中声明的 Maven 3 属性不能被其他人更改插件。

因此,如果您有一个设置属性的插件和另一个读取属性值的插件,如果您在 pom.xml 中对其进行初始化,它将始终得到一个空字符串。

事实上你不能在pom.xml 中定义它,但我不知道我能做些什么来消除 IntelliJ IDEA 警告。现在我必须禁用“Maven 模型检查”。 :-(

【讨论】:

  • 你找到更好的分辨率了吗?
  • 不幸的是,还没有。对不起。我也不知道 jetbrains 是否有 JIRA 票... :(
  • @对我的答案投了反对票的用户(也许是@vikingsteve?):你能解释一下为什么你对我的答案投了反对票吗?我看不到任何错误。
  • 可能是因为不幸的是您也无法提供更好的解决方案,最终答案
【解决方案2】:

我认为解决问题的最佳方法是使用以下评论:

<!-- suppress UnresolvedMavenProperty -->

空属性不会被覆盖,或者可能是@Josef 提到的危险操作。

【讨论】:

    【解决方案3】:

    是的,您可以打开 Settings(扳手图标),转到 Project Settings -> Inspections 然后禁用检查 Maven -> Maven 模型检查.

    或者,您可能想尝试为属性定义“空白”值,并查看插件是否成功覆盖它们。

    <properties>
         <myproperty></myproperty>
    </properties>
    

    祝你好运!

    【讨论】:

    • 该设置对我没有任何影响,但空属性有效。
    • 抱歉,这个解决方案不正确!请在下面查看我的答案。
    【解决方案4】:

    如果您打开目录 maven 项目,但尚未创建 intellij 项目,可能会出现“无法解析符号”错误。为什么“Maven 模型检查”存在这样的关系 - 不清楚,但它帮助了我。

    【讨论】:

    • 嘿,斯塔斯,无论哪种情况,您都应该编辑它并阐明模型检查的含义。我不知道您是在提出问题还是提出解决方案。希望这会有所帮助!
    • 我的意思是,有一个项目——“检查”工作正常。没有“idea”-project,属性高亮为“cannot resolve symbol”。
    猜你喜欢
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2020-04-26
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    相关资源
    最近更新 更多