web-dev-qa-db-ja.com

Javaクラスをjaxb2-maven-pluginを使用してソースフォルダに生成する方法は?

私はjaxb2-maven-pluginを使用してJavaクラスを生成します。プラグインプロパティがあります:

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <id>xjc</id>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- The package of your generated sources -->
                <packageName>com.bcap.me.JaxB</packageName>
                <sources>
                    <source>src/main/resources/xsds/pos.xsd</source>
                </sources>
            </configuration>
        </plugin>

mvn clean compileを実行した後、プラグインはtarget\classes\com\bcap\me\JaxBディレクトリにクラスを作成します。しかし、ソースフォルダー(パッケージ)にクラスが必要です:src\main\Java\com\bcap\me\JaxBこれを行うにはどうすればよいですか?

[〜#〜] update [〜#〜]outputDirectoryプロパティを追加しますが、このアプローチの正確さについてはわかりません:

<!--<packageName>com.bcap.me.JaxB</packageName>-->
<outputDirectory>src/main/Java/com/bcap/me/JaxB</outputDirectory>

[〜#〜]更新[〜#〜]

私は私のケースを次のように解決しました:

  <execution>
                        <id>xjc_pos</id>
                        <goals>
                            <goal>xjc</goal>
                        </goals>
                        <configuration>
                            <!-- The package of your generated sources -->
                            <packageName>com.bcap.me.JaxB</packageName>
                            <outputDirectory>src/main/Java</outputDirectory>
                            <sources>
                                <source>src/main/resources/xsds/pos.xsd</source>
                            </sources>
                            <generateEpisode>false</generateEpisode>
                            <clearOutputDir>false</clearOutputDir>
                        </configuration>
                    </execution>

@ulabに感謝

12
May12

次のmavenプラグインを使用できます

       <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <id>add-source</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>target/generated-sources/xjc</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
1
Xstian