gpt4 book ai didi

code-generation - Maven - 如何让 Castor 插件在生成源阶段触发?

转载 作者:行者123 更新时间:2023-12-04 07:03:22 24 4
gpt4 key购买 nike

我正在对一个 ant 项目进行 mavenizing。一个模块包括用于使用 Castor 生成源文件的 XSD 文件。如果我运行,一切正常:

mvn castor:generate package

但是,如果不在命令行上指定它,我无法让它为我的插件运行生成目标。我的插件xml部分如下:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>castor-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>

我已经尝试了很多阶段进入,但都没有成功。知道我在这里做错了什么吗?我已经在 Windows XP 和 Linux 中使用 Maven 2 和 3 对此进行了测试。我已经使用 1.0 版(我必须使用)和 2.0 版的 castor-maven-plugin 对其进行了测试。

谢谢蒂姆

最佳答案

castor:generate目标默认绑定(bind)到生命周期阶段 generate-sources 所以你甚至不必显式绑定(bind)它,当然除非你想将它绑定(bind)到另一个阶段。

假设您的 *.xsd 位于默认目录 src/main/castor 中,因此以下内容就足够了:

  <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>castor-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<!--schema>src/main/castor/schema.xsd</schema-->
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>

假设您有一个 src/main/castor/castorbuilder.properties 文件,下面是调用 generate-sources 阶段之后的阶段时的输出:

$ mvn package [INFO] Scanning for projects...[INFO]                                                                         [INFO] ------------------------------------------------------------------------[INFO] Building Q4169367/ 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- castor-maven-plugin:1.0:generate (default) @ Q4169367 ---[INFO] Processing /home/pascal/Projects/stackoverflow/Q4169367/src/main/castor/schema.xsd[INFO] [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ Q4169367 ---[INFO] Using 'UTF-8' encoding to copy filtered resources.[INFO] skip non existing resourceDirectory /home/pascal/Projects/stackoverflow/Q4169367/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Q4169367 ---[INFO] Compiling 3 source files to /home/pascal/Projects/stackoverflow/Q4169367/target/classes...

换句话说,插件的 1.0 版会按预期触发(2.0 版也可以)。使用 Maven 3.0 测试。

如果不适合您,请提供一个允许重现的项目并提及您调用的目标。

关于code-generation - Maven - 如何让 Castor 插件在生成源阶段触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4169367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com