Java 注释中的代码导致编译失败-为什么?

Java 注释中的代码导致编译失败-为什么?,java,eclipse,compiler-errors,Java,Eclipse,Compiler Errors,这似乎有些奇怪,但注释中的文本导致我的代码无法编译。(这是反编译代码;我通常不会这样格式化它) 注释(位于文件末尾;由反编译器自动添加): 这是一张它在eclipse中的样子的图片 下面是确切的错误消息(这些是唯一的错误消息,都在一条注释中): 说明资源路径位置类型 无法将Core解析为类型uSkyBlock.java/SO_unicodescapeerror/src/us/talabrek/ultimateskyblock line 2009 java问题 无效的unicode uSkyBl

这似乎有些奇怪,但注释中的文本导致我的代码无法编译。(这是反编译代码;我通常不会这样格式化它)

注释(位于文件末尾;由反编译器自动添加):

这是一张它在eclipse中的样子的图片

下面是确切的错误消息(这些是唯一的错误消息,都在一条注释中):

说明资源路径位置类型 无法将Core解析为类型uSkyBlock.java/SO_unicodescapeerror/src/us/talabrek/ultimateskyblock line 2009 java问题 无效的unicode uSkyBlock.java/SO_unicodescapeerror/src/us/talabrek/ultimateskyblock行2005 java问题 无法将Qualified解析为类型uSkyBlock.java/SO_unicodescapeerror/src/us/talabrek/ultimateskyblock line 2007 java问题
plugins
的错误是eclipse抱怨输入错误:
单词“plugins”拼写不正确

这对我来说很容易解决——我可以删除那个评论——但为什么会发生这种情况呢?注释中的代码不应该被完全忽略吗



编辑:作为补充说明,所有错误都在注释块内部,删除注释块允许代码编译。这不是问题所在。我的问题是,为什么java在这里关心注释中的文本?

这可能是一个复制粘贴代码块,其中包含eclipse无法读取的unicode字符,尝试删除它并自己重写它

问题是Eclipse将字符串
\u
解释为unicode字符的前缀,而在这里它只是注释中文件名的一部分。删除此错误的唯一方法是删除
\u
部分,例如将其替换为
\;u
如果要在javadoc中显示,或转义反斜杠字符:
\\u

请注意,这是Eclipse的一个已知“bug”,请参见:

但这种行为与Java规范一致,因为Java注释可以包含unicode字符:

除了注释、标识符以及字符和 字符串文字,程序中的所有输入元素仅由 ASCII字符(或导致ASCII的Unicode转义) 字符)


这不是问题所在-删除一条注释后,代码将编译。我可以把它编译;我只是不明白为什么java甚至关心注释中的代码,并导致了三个错误。关于Qualified和Core的两个错误只是警告,可能会用它们成功编译代码,问题只在于无效的unicode,即使在注释井中,eclipse也无法读取,这是有道理的。但这是一个令人讨厌的行为。至少这是一个已知的bug(尽管他们似乎并不在意)。所以我不是唯一一个有这样问题的人。
/* Location:           C:\Pokechu22\TestServer\plugins\uSkyBlock.jar

 * Qualified Name:     us.talabrek.ultimateskyblock.uSkyBlock

 * JD-Core Version:    0.7.0.1

 */
Description Resource Path Location Type Core cannot be resolved to a type uSkyBlock.java /SO_UnicodeEscapeError/src/us/talabrek/ultimateskyblock line 2009 Java Problem Invalid unicode uSkyBlock.java /SO_UnicodeEscapeError/src/us/talabrek/ultimateskyblock line 2005 Java Problem Qualified cannot be resolved to a type uSkyBlock.java /SO_UnicodeEscapeError/src/us/talabrek/ultimateskyblock line 2007 Java Problem