这是一个非常简单的问题,它可能是一个我不知道的设置,但Google在这个问题上尤其没有帮助,它给出了关于编译错误的结果,而不是如何更改编译错误消息。
当我使用maven构建我的项目时,它会给出错误消息,格式大致如下:
错误/path/to/source/Main.java:13,8错误:找不到符号
当我使用ant或javac构建时,它实际上会告诉我在错误消息中找不到的符号。maven给了我一个行号和字符位置,但是显示实际的符号会更有帮助。上面的行是为每个“找不到符号”错误提供的唯一行。上面或下面没有给出符号的线条。我想一定有办法让maven告诉我这些信息,但我不知道它是什么。我尝试了-e选项,因为mvn告诉我要尝试使用它,但它给出了错误的maven回溯,而不是实际的符号。
有什么帮助吗?
下面是mvn的输出--version
Apache Maven 3.0.4 (rNON-CANONICAL_2012-10-24_11-25_mockbuild; 2012-10-24 07:25:04-0400)
Maven home: /usr/share/maven
Java version: 1.7.0_09-icedtea, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.6.6-1.fc17.x86_64", arch: "amd64", family: "unix"
下面是一个示例(没有帮助)错误消息,与maven的输出完全相同(只是目录缩短了):
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /path/to/source/SoundEngineFilePanel.java:[33,8] error: cannot find symbol
[ERROR] class SoundEngineFilePanel
/path/to/source/SoundEngineFilePanel.java:[36,8] error: cannot find symbol
[INFO] 2 errors
[INFO] -------------------------------------------------------------
它找不到的符号是"fakeThing“和"fakeThing2",而不是SoundEngineFilePanel。
发布于 2013-01-05 05:51:36
这是Maven编译器插件中的一个bug,我认为它与JDK7相关。与JDK6配合使用效果很好。
发布于 2013-09-01 23:58:06
更新到3.1:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
发布于 2016-09-21 23:26:32
在我的例子中,问题出在一个没有重建的子jar中,因为我添加了一个新类,该子jar的pom.xml与我失败的pom.xml作为子到父关系没有关系(使用<parent>
标记)。因此,我重新构建了子jar,错误在此之后消失了。
https://stackoverflow.com/questions/14164386
复制相似问题