Удаление сгенерированных ресурсов из файла JAR
Здравствуйте, я использую 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)
Итак, чего я хочу избежать, так это иметь каталог "generate-resources" внутри jar-файла.
Как я могу это сделать? Я сделал несколько поисков в Google без особой удачи.
2 ответа
Я наконец перешел с maven2-xdoclet2-plugin на xdoclet-maven-plugin, и он заработал, как и ожидалось (у меня также были некоторые проблемы с генерацией отображения hibernate).
<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>
Вы получаете файлы отображения, упакованные в файл JAR, потому что файлы отображения генерируются в неправильном выходном каталоге. Вы настроили:
<destdir>${project.build.directory}/classes</destdir>
Таким образом, файлы сопоставления будут созданы внутри target/classes/
папка, которая используется для создания выходного файла JAR. Попробуйте другой каталог, например:
<destdir>${project.build.directory}/generated</destdir>