gpt4 book ai didi

maven - 如何在编译时解决maven插件生成的文件之间的依赖关系?

转载 作者:行者123 更新时间:2023-12-02 04:56:59 27 4
gpt4 key购买 nike

好吧,让我尽量把我的问题讲得不那么困惑。

我有一个带有一些 Maven 插件的标准 Maven 项目 -

1) maven-antrun-plugin
2) Custom maven plugin, say, my-maven-plugin
3) jaxws-maven-plugin

现在是复杂的部分。

第一个插件生成了一些我目前放在“${project.build.directory}/java”中的 .java 文件

第二个插件生成另一组 .java 文件,我将所有这些文件再次放在“${project.build.directory}/java”下。但是,它们位于不同的包结构下。

这两个插件都在“generate-sources”阶段运行。

现在,我的第三个插件 jaxws-maven-plugin 尝试将类文件用于由第一和第二个插件生成的文件,作为生成 WSDL 的 SEI。但是在编译期间 Maven 不会在此时创建类文件,并且插件出错并显示“未找到类”消息。

那么我该如何着手解决这个问题呢?此外,由于我在“生成源”阶段出错,我没有在 target/classes 目录中看到我的项目中任何其他源文件的 .class 文件。

哦,这是另一个转折点。我的一些源文件在代码中导入了这些编译时生成的源文件(你不知道我现在正在寻找这个开发者有多糟糕!!)

我已尽力以最好的方式描述我的问题,所以请随时询问任何其他细节或说明。

最佳答案

jaxws-maven-plugin 之前手动运行 build-helper-maven-pluginmaven-compile-plugin:

<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
...
<executions>
<execution>
<phase>generate-sources</phase>
</execution>
...
</executions>
<plugin>
<plugin>
...
<artifactId>my-maven-plugin</artifactId>
...
<executions>
<execution>
<phase>generate-sources</phase>
</execution>
...
</executions>
<plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>some directory</source>
...
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compile-plugin</artifactId>
...
<executions>
<execution>
<phase>generate-sources</phase>
</execution>
<goals>
<goal>compile</goal>
</goals>
</executions>
<plugin>
<plugin>
<artifactId>jaxws-maven-pluginn</artifactId>
...
<plugin>

</plugins>
</build>

我还没有测试过,但我认为它应该可以工作。

关于maven - 如何在编译时解决maven插件生成的文件之间的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667899/

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