Maven项目依赖库中Groovy类无法解析问题咨询
问题解决步骤
- 第一步:给两个项目添加源码路径配置
你当前使用的groovy-eclipse-compiler默认不会主动识别src/main/groovy作为源码目录,需要通过build-helper-maven-plugin把Groovy源码路径添加到编译队列中,在两个项目的pom.xml的<build><plugins>节点下新增以下配置:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <!-- 同时支持java和groovy目录下的源码 --> <source>src/main/java</source> <source>src/main/groovy</source> </sources> </configuration> </execution> <!-- 若有测试代码需要编译,再新增add-test-source的execution节点即可 --> </executions> </plugin>
- 第二步:验证project-base的打包结果
修改完project-base的配置后,执行mvn clean install命令安装到本地仓库,打开本地Maven仓库中com/tura/jetty/project-base/0.0.1-SNAPSHOT路径下的jar包,确认内部存在你编写的Groovy类对应的.class文件。如果不存在,再检查Groovy类的包路径是否正确,编译阶段是否有报错信息。 - 第三步:刷新依赖重新编译project-data
如果是从Archiva私服拉取依赖,先删除Archiva中对应版本的project-base包,重新执行mvn deploy把最新的包上传到私服。之后清理project-data本地的依赖缓存,执行mvn clean compile验证Groovy类是否可以正常识别。
如果是IDE内提示找不到类,将src/main/groovy目录标记为「源码根目录(Sources Root)」即可消除IDE的错误提示。
内容的提问来源于stack exchange,提问作者pbuchheit
相关产品推荐
相关产品推荐

