当前位置: 首页 > 面试题库 >

Maven“找不到符号”消息无济于事

牟稳
2023-03-14
问题内容

这是一个非常简单的问题,可能是我不知道的地方,但是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。


问题答案:

这是Maven编译器插件中的一个错误,与我认为的JDK7有关。与JDK6兼容。



 类似资料:
  • 我正在尝试使用Firebase 9.2.1库访问Firebase MessagingService。我已经成功创建了一个项目,然后下载了JSON文件。我终于将这个JSON文件与我的项目集成在一起了。Firebase InstanceIDService运行正常,但显示Firebase MessagingService错误。所以我检查了Android Studio中的项目文件夹。然后我发现Fireba

  • 由于某些原因,此命令在我的本地计算机上运行良好: 然而,对于Codeship,它现在可以工作了,并抛出这个“找不到符号”错误。在Codeship中,完整命令是: 在POM中,存储库具有以下内容: 错误:

  • 在我当前的项目中,我正在使用maven的jooq框架代码生成器插件。在我的IDE(eclipse)中,一切正常,但当试图在CI服务器上或在cmd上手动编译项目时,它失败了,并显示消息:“找不到符号”。 对我来说,代码生成器插件似乎没有将生成的代码添加到maven构建的“类路径/源路径”;因此编译将失败。 我甚至尝试将maven-Buildhelper-plugin添加到执行中,但没有成功。 有人有

  • 由于某种原因,此命令在我的本地计算机上运行良好: 但是,对于Codeship,它现在起作用了,并抛出这个“无法找到符号”错误。在Codeship中,完整命令为: 在POM中,存储库具有以下内容: 错误:

  • DBHelper。JAVA LoginSevlet.java 我正在尝试访问LoginServlet中的DBHelper类,而编译i做了javac DBHelper.javajavac-cp"C:\User\dell\Desktop\MYServlet\WEB-INF\lib\servlet-api-2.5.jar;"LoginServlet.javaLoginServlet.java:13:错误

  • 问题内容: 我该如何告诉Maven对无法在其中找到依赖项的存储库隐藏“无法找到资源” INFO消息,但显示那些确实找到依赖项的存储库呢?也就是说,显示匹配,但忽略未命中,因为这些淹没并模糊了匹配。 例如,代替此输出: 我希望Maven仅输出以下内容: 问题答案: 我不知道从Maven内部做什么,但是您总是可以将输出通过管道传递给grep或sed之类的进程,以删除每个模式的行数。