Maven Xmlbeans 插件 - 为指定模式生成和保留文件
Maven Xmlbeans Plugin - Generate & Retain files for specified schemas
我正在尝试开发基于 XML 的软件。我正在使用 Maven 和 XmlBeans。
我有一个base-project
,它提供了base-xml-schemas
,它定义了一些元素、抽象类型等。
所有其他 sub-projects
也提供 xml-schemas。但是,这些子项目 imports/refers base-xml-schemas
使用和扩展 base-schemas
.
定义的元素/类型
即使我的 sub-projects
依赖于 base-project
,xmlbeans 插件要求 base-xml-schemas
出现在 schemaDirectory
的用法。言下之意,由于 base-xml-schemas
.
,我所有的子项目现在都包含重复内容 generated/compiled
我希望我的 sub-projects
在他们的 jar 中只有那些特定于子项目的模式和内容,因为我的 base-project
将对我的 Jboss 中的所有应用程序可用 &这些类型可以在运行时解析。
了解到 xmlbean 需要所有引用的模式才能生成代码,现在我想删除所有 xmlbean 生成的代码,因为 [=22] =] 并保留与 sub-project
特定模式相关的文件。
我已经手动完成了这个并且我的项目编译和运行时工作正常,因为我的 maven 有依赖性并且 类 在运行时可用。
我的问题是 - 如何使用 maven 自动执行此操作,以便在生成后立即删除由于 base-schema
生成的文件。
Maven xmlbeans 插件默认绑定到生命周期阶段:generate-sources。
您需要将 clean 插件的 clean 目标绑定到上述生命周期阶段。
参考link-
Remove or delete resource files from target directory using pom file
配置将是这样的:
<execution>
<id>clean-autogenerated-code</id>
<phase>generate-sources</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>some/relative/path/location/of/autogeneratd/code</directory>
</fileset>
</filesets>
</configuration>
</execution>
目录位置 - 提供自动生成的准确目录位置 类。
您需要在您需要删除自动生成的 xml beans 文件的所有子项目中进行配置。
如果您有所有子项目的父 pom,请在该 pom.xml 文件中进行配置。
我正在尝试开发基于 XML 的软件。我正在使用 Maven 和 XmlBeans。
我有一个base-project
,它提供了base-xml-schemas
,它定义了一些元素、抽象类型等。
所有其他 sub-projects
也提供 xml-schemas。但是,这些子项目 imports/refers base-xml-schemas
使用和扩展 base-schemas
.
即使我的 sub-projects
依赖于 base-project
,xmlbeans 插件要求 base-xml-schemas
出现在 schemaDirectory
的用法。言下之意,由于 base-xml-schemas
.
我希望我的 sub-projects
在他们的 jar 中只有那些特定于子项目的模式和内容,因为我的 base-project
将对我的 Jboss 中的所有应用程序可用 &这些类型可以在运行时解析。
了解到 xmlbean 需要所有引用的模式才能生成代码,现在我想删除所有 xmlbean 生成的代码,因为 [=22] =] 并保留与 sub-project
特定模式相关的文件。
我已经手动完成了这个并且我的项目编译和运行时工作正常,因为我的 maven 有依赖性并且 类 在运行时可用。
我的问题是 - 如何使用 maven 自动执行此操作,以便在生成后立即删除由于 base-schema
生成的文件。
Maven xmlbeans 插件默认绑定到生命周期阶段:generate-sources。
您需要将 clean 插件的 clean 目标绑定到上述生命周期阶段。
参考link- Remove or delete resource files from target directory using pom file
配置将是这样的:
<execution>
<id>clean-autogenerated-code</id>
<phase>generate-sources</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>some/relative/path/location/of/autogeneratd/code</directory>
</fileset>
</filesets>
</configuration>
</execution>
目录位置 - 提供自动生成的准确目录位置 类。
您需要在您需要删除自动生成的 xml beans 文件的所有子项目中进行配置。 如果您有所有子项目的父 pom,请在该 pom.xml 文件中进行配置。