2

ソースフォルダーを MAVEN に追加する方法についてさらに議論を深め、MOJO のbuild-helper-maven-pluginプラグインを使用することにしました。pom.xmlは次のようになります。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>my.maven.tests</groupId>
  <artifactId>helper</artifactId>
  <version>1.0</version>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>add-gen-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
               <source>src-gen/gen/java</source>
              </sources>
            </configuration>
          </execution>
          <execution>
            <id>add-extra-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/extra/java</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <encoding>UTF-8</encoding>
          <includes>
            <include>src/main/java/**/*.java</include>
            <include>src-gen/gen/java/**/*.java</include>
            <include>src/extra/java/**/*.java</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

コマンドを使用するとmvn clean compile、ビルドはエラーなしで正常に終了しますが、クラスは生成されません。

私は何か間違ったことをしたと確信していますが、私は理解できません。

4

2 に答える 2

7

問題はincludes、maven-compiler-plugin の構成です。maven-compiler-plugin は、プロジェクトで構成されたすべてのソース フォルダーを自動的に取得しますincludes。タグを介してそれらを定義する必要はありません。

したがって、あなたの場合、それは自動的にsrc/main/java(標準のMavenソースの場所)と、追加するようにbuild-helper-maven-pluginを構成した2つを選択しますsrc-gen/gen/java& src/extra/java.

セクションを削除するだけincludesで、ビルドが機能するはずです。したがって、pom の maven-compiler-plugin は次のようになります。

...
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>
...
于 2013-10-24T10:23:52.987 に答える