- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在 Maven pom.xml
文件中遇到一个错误,当我有一个包含 2 个 @ 符号且中间有一些字符的属性时。唯一的消息是
cannot resolve symbol 'symbol'.
这不会导致构建或运行应用程序时出错,但会导致项目窗口出现红色下划线(使用 IntelliJ IDEA 14)。
我已尝试禁用对 XML 和 Maven 的检查,但问题仍然存在。
如果我关闭 IntelliJ 并重新打开,只要我不重新打开 pom.xml
文件,错误就不会出现。
我找不到任何关于 2 个 @ 符号在 Maven 或 XML 中可能意味着什么的引用,所以我倾向于认为它是 IntelliJ 特定的东西。
导致此错误的原因是什么以及如何修复它(除了更改属性值或从不打开文件之外)?
最佳答案
长话短说 — @
… @
→ ${at}
… ${at}
(或者:@{
… }
→ ${at}{
… }
对于 failsafe argLine
在 IDEA 中)
虽然略有不同,但我的案例(涉及 IntelliJ IDEA v2017.3.5)已通过 this answer by Mike 的解决方法解决,即定义 @
符号作为一个单独的属性,例如<at>@</at>
,即在您的测试用例中:<at>@</at>
和 <myproperty>${at}hello!${at}</myproperty>
.
这个解决方案似乎至少适用于 argLine
maven-surefire-plugin
中使用的选项(v2.21.0) 和 maven-failsafe-plugin
(v2.21.0),我需要为 jacoco-maven-plugin
的代码覆盖代理包含 JVM 参数(v0.8.0)。必须在运行时使用 ${..}
读取原始属性(编译时值为 @{..}
) (参见 failsafe docs ),一个在 IntelliJ 中无效的术语。所以对于我来说,我们有:${..}
→ @{..}
→ ${at}{..}
<project ...>
:
<properties>
<at>@</at>
:
<argLine>...</argLine>
<my.jacoco.args/>
</properties>
:
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>my.jacoco.args</propertyName>
:
</configuration>
</execution>
:
</executions>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.21.0</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<argLine>${at}{my.jacoco.args} ${at}{argLine}</argLine>
:
</configuration>
</execution>
:
</executions>
</plugin>
:
</plugins>
</build>
</project>
关于xml - 在 IntelliJ 的 pom.xml 中使用 @ 符号“无法解析符号”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704122/
我正在使用 Maven 3.x,我的父 pom 和子 pom 中有以下结构。 父类 com.mygoogle.sample workorder 1.0-SNAPSHOT pom 1.0-SN
我已将各个项目中的所有存储库配置重构为一个父 pom,该父 pom 是为了对存储库和分发管理等内容进行单点配置的特定目的而创建的。据我了解,这应该是最佳实践。将我的父 pom 部署到 Nexus 服务
我尝试使用 mvn help:effective-pom 命令在示例应用程序上生成有效的 pom。 http://books.sonatype.com/mvnref-book/reference/po
在一个项目中,我们有一个名为时间戳的属性,它没有在父 POM 和子 POM 中定义,但仍然可以在 pom.xml 中访问。任何线索将不胜感激。 最佳答案 它可以由插件设置(如 https://www.
我在使用“uploadArchives”上传存档时收到“无法初始化 POM pom-default.xml:无法验证 POM”。我也尝试了 maven-publish 插件,但仍然没有成功。我们将不胜
我创建了一个程序,使用 HTML5 canvas 绘制一个 pom pom,参数大小、x、y、蓬松度和颜色。 pom pom 是通过从中心出来的画线创建的,参数蓬松度决定了从中心出来的股数。我有一个确
我正在关注maven的教程。我有一个非常简单的项目,里面有几个模块。在模块 pom 上,我想通过 ${parent.groupid} 和 ${parent.version} 引用主项目 pom 版本和
当我构建我的项目时,我收到以下警告: [INFO] ------------------------------------------------------------------------ [
我正在尝试构建一个 Maven 项目。我的其他团队成员能够毫无问题地构建它。我收到以下错误: [WARNING] The POM for org.hectorclient:hector-core:ja
我目前正在为 Maven 苦苦挣扎:我有一个由几个嵌套模块组成的复杂项目,对于其中一些模块,我在 POM 中有类似的配置。 我想让它干净。实际上,我想定义一个“runnable-jar”通用配置并在某
我正在将 maven Artifact 推送到 nexus,对于版本号小于子 POM 的父 POM 是否有任何影响? 最佳答案 据我所知没有。多模块项目中的模块版本可能以任何可能的方式有所不同。但是,
我在 Eclipse (Helios) 中有一个项目,带有 Maven pom.xml。我的项目是一个将使用 Hibernate、MySQL 的 Web 应用程序。 但是我在正确处理 pom.xml
repository我的 build.grade 部分已: mavenLocal() //maven { url { 'http://192.168.2
在多模块项目结构中 myApp |-moduleA |---pom.xml |-moduleB |---pom.xml |-pom.xml 如果我在 parent.pom 中有以下属性 4
我为 Maven 插件编写了代码,用于更新 pom 文件中的版本号。但是,当我尝试保存新的 pom 时,它被保存为有效的 pom。有没有办法将其保存为解析之前的样子?谢谢! private Maven
我有一个父 pom 在 pluginManagement 中定义了插件的一些配置项,其中有一个特定的配置。我不想在 child pom 中。 我尝试覆盖我的子 pom 中的其他配置项,这有效,但“删除
我不确定这是否受 Maven 支持。我很感激我能得到的任何帮助。 我有一个定义依赖项和排除项的父 pom。我无法更改父 pom: foo bar 1.0
当前场景: 父pom有一个distributionManagement部分,里面定义了两个repositories(releases和snapshots);引用如下: 父 pom:
似乎有几种方法可以在多项目构建中构建父 pom,我想知道是否有人对每种方式的优点/缺点有任何想法。 拥有父 pom 的最简单方法是将其放在项目的根目录中,即 myproject/ myprojec
我想在我的 Maven 项目中定义一个本地存储库。 我有一个 super pom 和几个子模块。我的文件结构是: /root /repository /child po
我是一名优秀的程序员,十分优秀!