java - 无法将 groovy 文件添加到源文件夹
问题描述
我在 src/main/groovy 中有一个带有 groovy 文件的项目,这些文件在 src/main/java 中使用,并且出现 groovy 文件引用错误。我无法在类路径中看到我的 groovy 文件。我的 pom.xml 有设置 groovy 源文件夹的代码
<build>
<resources>
<resource>
<targetPath>.</targetPath>
<directory>src/main/groovy</directory>
</resource>
<resource>
<targetPath>.</targetPath>
<directory>src/main/resources</directory>
</resource>
<resource>
<targetPath>.</targetPath>
<directory>src/main/config</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.9.1-01</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.4.3-01</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.9.1-01</version>
<!-- <extensions>true</extensions> -->
</plugin>
<!-- Plugin Management -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
</additionalProjectnatures>
<!-- Source includes is necessary to allow groovy files in the java
folder, else eclipse will throw a filtering exception -->
<sourceIncludes>
<sourceInclude>**/*.groovy</sourceInclude>
</sourceIncludes>
<!-- Download sources will make maven download and attach source files
where available -->
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<compilerVersion>${java-version}</compilerVersion>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/groovy</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/test/groovy</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
请建议进行任何更改以将 groovy 文件源文件夹放入类路径
解决方案
如果您指的是您的 Eclipse 项目:Groovy 源文件夹是否出现在 Package Explorer 中依赖于它们的 Java 之前(又名以上)?
例如,您可能会看到如下内容:
Package Explorer
ProjectName
src/main/java
src/test/java
src/main/groovy
src/test/groovy
Maven Dependencies
JRE System Library
...
pom.xml
使用groovy-eclipse-compiler
适配器的指南在这里:https ://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-Maven-plugin 有一个部分用于设置额外的源文件夹。
此外,您可以在 src/*/groovy 文件夹中混合使用 Groovy 和 Java 源代码。groovy 编译器适配器将在必要时联合调用 java 编译器。
推荐阅读
- ios - 动画没有停止使用 UIView.animate
- python - 如何将数据框列数据添加到另一个数据框中的一系列索引?
- r - 带有 sample.split (caTools) 的 SplitRatio 结果
- ios - Snap Kit 无法使用 startSending 打开 Snapchat
- c++ - 输出会是什么。可见性和范围概念
- php - 多个特定元键的唯一元值列表。在 Word Press 中可能吗?
- android - 如何使用自定义菜单项创建自定义导航视图
- reactjs - 使用 Visual Studio 在反应中遇到奇怪的行为
- javascript - 如何修复 axios 不为我的用户会话保存 cookie
- macos - 无法通过 mac 中的浏览器连接到在 docker 容器上运行的应用程序