Eclipse 无法识别生成的 class
Eclipse not recognizing generated class
我在我的项目中使用 Maven 插件生成 类。然而,即使在尝试从项目构建路径中显式填充它之后,eclipse 也无法识别它。它说,
"AbcBaseListener cannot be resolved to a type"
项目自动构建也开启了。
检查两件事:
1)
这里的重要提示是 "class folder"。 Eclipse 需要 .class
个文件,源代码将被忽略。
要解决此问题,请将此插件添加到您的 POM:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
并更新项目(Maven -> 更新...)。
另一种选择是手动添加另一个 源文件夹 到构建路径,但只要 m2e 从 POM 更新项目配置,它就会丢失。
2) 确保生成的文件具有包名称;
在 grammar Abc;
之后,在你的 g4 文件中使用下面的代码
@header {
package antlr4;
}
我在我的项目中使用 Maven 插件生成 类。然而,即使在尝试从项目构建路径中显式填充它之后,eclipse 也无法识别它。它说,
"AbcBaseListener cannot be resolved to a type"
检查两件事:
1)
这里的重要提示是 "class folder"。 Eclipse 需要 .class
个文件,源代码将被忽略。
要解决此问题,请将此插件添加到您的 POM:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
并更新项目(Maven -> 更新...)。
另一种选择是手动添加另一个 源文件夹 到构建路径,但只要 m2e 从 POM 更新项目配置,它就会丢失。
2) 确保生成的文件具有包名称;
在 grammar Abc;
之后,在你的 g4 文件中使用下面的代码@header {
package antlr4;
}