Java 在maven项目中添加文件夹
假设我有一个标准的maven项目,它有四个标准目录Java 在maven项目中添加文件夹,java,eclipse,maven,clojure,maven-2,Java,Eclipse,Maven,Clojure,Maven 2,假设我有一个标准的maven项目,它有四个标准目录 src/main/java src/main/resources src/test/java src/test/resources 现在让我们假设,我在“src/main”下创建了一个名为“clojure”的子目录。 那么,“src/main/clojure”下的源文件是否在构建运行时自动编译,或者我是否必须通过配置某个插件(例如build helper maven插件)告诉maven,它还必须在“src/main/clojure”下编译源文
src/main/java
src/main/resources
src/test/java
src/test/resources
现在让我们假设,我在“src/main”下创建了一个名为“clojure”的子目录。
那么,“src/main/clojure”下的源文件是否在构建运行时自动编译,或者我是否必须通过配置某个插件(例如build helper maven插件)告诉maven,它还必须在“src/main/clojure”下编译源文件
换句话说,创建任何不是“../java”或“../resources”的文件夹是否需要在pom.xml中进行显式配置,以便maven考虑其中的源
任何帮助都将不胜感激
问候,,
Horace是的,maven需要“知道”这些目录的含义,尽管clojure构建插件可能会按照约定使用该目录-例如,请参见:ApacheMaven有一个现成的目录
要使maven理解上述结构以外的任何其他结构,您必须在pom.xml
中覆盖这些设置
看看这个POM参考。一个Maven项目通常是用一个编译器构建的,它会在那些称为Maven源文件夹的文件夹中查找其所有源文件。根据项目的不同,可以自动添加此类源文件夹,例如src/main/java。如果使用不同的编译器,可能会自动添加其他文件夹,例如src/main/groovy 有时IDE中的Maven集成(如Eclipse或IntelliJ)不会为非Java项目选择文件夹,即使POM中有正确的Maven插件,例如用于构建Groovy项目 因此,即使命令行上的构建可以很好地与src/main/groovy中的文件一起运行,但在IDE中导入项目时,该文件夹可能不会被检测为源文件夹。在这种情况下,您可能需要添加其他源文件夹,例如
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</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>
</executions>
</plugin>
org.codehaus.mojo
构建助手maven插件
1.5
添加源
生成源
添加源
src/main/groovy