请解释以下关于"无法找到符号"的错误:
这个问题旨在成为一个关于Java中"无法找到符号"编译错误的综合问题.
也许有一个maven-compiler-plugin选择,但我没有找到它.
当javac直接运行并打印错误时,在消息的第一行之后,它会在指向错误位置的下一行显示受影响的源代码行.它看起来像这样:
com/invariantproperties/udt/sql/RationalUDT.java:324: error: cannot find symbol
public static boolean lessThan(RRationalUDT p, double q) {
^
symbol: class RRationalUDT
location: class RationalUDT
Run Code Online (Sandbox Code Playgroud)
注意直接指向我拼写错误类型名称的行.它maven-compiler-plugin显示如下:
[ERROR] /var/tmp/pljava-udt-type-extension/java/src/main/java/com/invariantproperties/udt/sql/RationalUDT.java:[324,36] cannot find symbol
symbol: class RRationalUDT
location: class com.invariantproperties.udt.sql.RationalUDT
Run Code Online (Sandbox Code Playgroud)
注意它摆脱了实际指向错误的行.(这是使用Oracle JDK 7.)
好的,所以起初我认为这个较旧的问题会得到答案,因为它也maven-compiler-plugin没有显示整个错误消息,并且说修复程序是更新到maven-compiler-plugin3.1版.
但是对于这个问题,我尝试了2.4,3.1和3.5而没有任何改进.显示错误的行总是丢失.
这适用于任何javac错误.在示例中,我拼错了一个符号,只是为了得到与旧问题所讨论的相同的错误.但我可以修复那个并制作另一个(这个来自javac注释处理器):
com/invariantproperties/udt/sql/RationalUDT.java:324: error: No known mapping to an SQL type
public static boolean lessThan(RationalUDT p, double q) {
^ …Run Code Online (Sandbox Code Playgroud) 这是我的代码
@Path("/users/{id}")
public class MyResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getId(@PathParam("id") String id) {
return "Getting Messages for User : " + id;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的只是
..MyResource.java:[17,29] error: cannot find symbol
Run Code Online (Sandbox Code Playgroud)
& 这个
但没有任何成功.
编辑: pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.placeholder</groupId>
<artifactId>edelivery-sp</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>edelivery-sp</name>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
</dependency>
<!-- uncomment this to get JSON support:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
-->
<dependency> …Run Code Online (Sandbox Code Playgroud)