如何为maven添加额外的源目录以进行编译并包含在构建jar中?

chr*_*tek 92 java maven-2 maven

除了src/main/java之外,我添加了一个src/bootstrap目录,我希望在我的构建过程中包含该目录,换句话说,我希望maven在我的构建中编译并包含源代码.怎么样!?

Pét*_*rök 130

您可以使用Build Helper插件,例如:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>some directory</source>
                ...
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
Run Code Online (Sandbox Code Playgroud)


Sai*_*pta 35

注意:此解决方案只是将java源文件移动到target/classes目录,不会编译源代码.


更新pom.xml为 -

<project>   
 ....
    <build>
      <resources>
        <resource>
          <directory>src/main/config</directory>
        </resource>
      </resources>
     ...
    </build>
...
</project>
Run Code Online (Sandbox Code Playgroud)

  • 这个解决方案只是将java源文件移动到目标/ classes目录,并且*不会编译*源 (3认同)
  • NetBeans把它当成魅力:) (2认同)
  • 不适用于 IntelliJ,它将把 `&lt;resource&gt;` 视为“Resource”文件夹,而不是“Source”文件夹,例如,它不会在其中编译 Java 源文件。 (2认同)

Kal*_*oni 11

http://maven.apache.org/guides/mini/guide-using-one-source-directory.html

<build>
<sourceDirectory>../src/main/java</sourceDirectory>
Run Code Online (Sandbox Code Playgroud)

也看到了

Maven使用多个src目录编译

  • 这将覆盖默认的src/main/java目录.如果需要多个目录,则还必须指定默认目录. (7认同)
  • 问题是如何添加多个源目录,并且您提出的方法只添加一个源目录,这与所要求的相反. (2认同)