5

1つのプロジェクトで2つのxmlbeanを生成しようとしました。たとえば、それぞれが参加者オブジェクトを取得するため、それらを1つの構成に入れることはできません。私が行った方法は、2つの例外を使用することでした。これが、私のpomファイルです。

            <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xmlbeans-maven-plugin</artifactId>
            <version>2.3.3</version>
            <executions>
                <execution>
                    <id>xmlbean1</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xmlbeans</goal>
                    </goals>
                    <configuration>
                        <xmlConfigs>
                            <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean1</xmlConfig>
                        </xmlConfigs>
                        <verbose>true</verbose>
                        <schemaDirectory>src/main/xsd/xmlbean1</schemaDirectory>
                    </configuration>
                </execution>
                <execution>
                    <id>xmlbean2</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xmlbeans</goal>
                    </goals>
                    <configuration>
                        <xmlConfigs>
                            <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean2</xmlConfig>
                        </xmlConfigs>
                        <verbose>true</verbose>
                        <schemaDirectory>src/main/xsd/xmlbean2</schemaDirectory>
                    </configuration>
                </execution>
            </executions>
            <inherited>true</inherited>
        </plugin>

しかし、それはまったく機能していません。誰かがそれを手伝ってくれませんか、ありがとう

4

3 に答える 3

2

みんなありがとう、私は答えを得た、次のpomはうまくいっている:

<executions>
                <execution>
                    <id>id1</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xmlbeans</goal>
                    </goals>
                    <configuration>
                        <schemaDirectory>src/main/xsd/first</schemaDirectory>
                        <xmlConfigs>
                            <xmlConfig implementation="java.io.File">src/main/xsdconfig/first</xmlConfig>
                        </xmlConfigs>
                        <verbose>true</verbose>
                        <sourceGenerationDirectory>target/first-resource</sourceGenerationDirectory>
                        <classGenerationDirectory>target/first-class</classGenerationDirectory>
                        <staleFile>target/first/first.stale</staleFile>
                    </configuration>
                </execution>
                <execution>
                    <id>id2</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xmlbeans</goal>
                    </goals>
                    <configuration>
                        <schemaDirectory>src/main/xsd/second</schemaDirectory>
                        <xmlConfigs>
                            <xmlConfig implementation="java.io.File">src/main/xsdconfig/second</xmlConfig>
                        </xmlConfigs>
                        <verbose>true</verbose>
                        <sourceGenerationDirectory>target/second-resource</sourceGenerationDirectory>
                        <classGenerationDirectory>target/second-class</classGenerationDirectory>
                        <staleFile>target/second/second.stale</staleFile>
                    </configuration>
                </execution>
            </executions>
于 2011-07-14T04:58:01.347 に答える
1

idは既存の実行を見つけるためにのみ使用されるため (微調整したい場合)、これは機能しません。

あなたの問題は、Maven が同じプラグインを同じで 2 回実行できないことphaseです。

あなたの選択肢は何ですか?

  1. それを異なるサブモジュールに分割します

  2. Ant を使用して xmlbeans を作成しantrun要素を使用します。

しかし、なぜ 2 つのxmlConfig要素を使用できないのでしょうか。すべての.xsdファイルを 1 つのディレクトリに配置し、そこから必要な数の Bean を作成するだけです (「複数の XSDConfig ディレクトリ」を参照してください)。

于 2011-07-12T13:49:10.157 に答える
1

2 番目の呼び出しには、別の別個のフェーズを使用してみてください。私の知る限り、同じプラグインを同じライフサイクル フェーズで 2 回実行することはできません。

于 2011-07-12T11:51:12.700 に答える