0

こんにちは、maven2-xdoclet2-plugin を使用して休止状態のマッピングを生成しています

xdoclet の構成は次のようになります。

<plugin>
    <groupId>org.codehaus.xdoclet</groupId>
    <artifactId>maven2-xdoclet2-plugin</artifactId>
    <version>2.0.7</version>
    <executions>
        <execution>
           <id>xdoclet</id>
           <phase>generate-sources</phase>
           <goals>
             <goal>xdoclet</goal>
           </goals>
        </execution>
    </executions>
    (... dependencies ...)
    <configuration>
        <configs>
          <config>
            <components>
              <component>
                <classname>org.xdoclet.plugin.hibernate.HibernateMappingPlugin</classname>
                <params>
                  <version>3.0</version>
                </params>
              </component>
            </components>
            <params>
              <destdir>${project.build.directory}/classes</destdir>
            </params>
           </config>
          </configs>
       </configuration>

私が走るとき

mvn clean generate-resources

次のことが得られます。

tree -L 2 target/classes/
target/classes/
|-- com
|   `-- company
|       `-- (the mappings generated)
`-- generated-resources
    `-- xdoclet
        `-- com
            `-- company
                `-- (the mappings generated)

したがって、避けたいのは、jarファイル内に「生成されたリソース」ディレクトリを配置することです。

どうやってやるの?あまり運がなくても、いくつかのグーグル検索を行いました。

4

2 に答える 2

0

マッピングファイルが間違った出力ディレクトリに生成されるため、マッピングファイルがJARファイルにパックされます。構成したもの:

<destdir>${project.build.directory}/classes</destdir>

したがって、マッピングファイルはtarget/classes/、出力JARファイルのビルドに使用されるフォルダー内に生成されます。次のような他のディレクトリを試してください。

<destdir>${project.build.directory}/generated</destdir>
于 2010-12-04T06:40:30.343 に答える
0

最終的に maven2-xdoclet2-plugin から xdoclet-maven-plugin に移行したところ、期待どおりに機能しました (休止状態のマッピング生成にも問題がありました)。

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xdoclet-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>xdoclet</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>xdoclet</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <tasks>
                    <hibernatedoclet
                        destdir="${project.build.outputDirectory}"
                        mergeDir="${project.basedir}/src/main/resources/hibernate">
                        <fileset dir="${project.basedir}/src/main/java"
                            includes="**/domain/**/*.java" />
                        <hibernate version="3.0" />
                    </hibernatedoclet>
                </tasks>
            </configuration>
        </plugin>
于 2010-12-05T19:52:50.613 に答える