好的,让我尽量减少我的问题。
我有一个带有几个Maven插件的标准maven项目 -
1) maven-antrun-plugin
2) Custom maven plugin, say, my-maven-plugin
3) jaxws-maven-plugin
现在这里是复杂的部分。
第一个插件生成一些.java文件,我目前放在“ $ {project.build.directory} / java ”
第二个插件生成另一组.java文件,所有这些文件我将再次置于“ $ {project.build.directory} / java ”下。但是,它们被放置在不同的包装结构下。
这两个插件都在“生成源”阶段运行。
现在我的第三个插件jaxws-maven-plugin尝试将类文件用于第一个和第二个插件生成的文件,作为生成WSDL的SEI。但是在编译期间,maven不会创建类文件,并且插件会出现“未找到类”消息。
那么我该如何解决这个问题呢?此外,由于我在“生成源”阶段出错,我没有看到目标/ classes目录中我项目中任何其他源文件的.class文件。
哦,这是另一个转折点。我的一些源文件在代码中导入这些编译时生成的源文件(你不知道我现在正在搜索这个开发人员有多糟糕!!)
我试图以最佳方式描述我的问题,所以请随时询问任何其他细节或说明。
答案 0 :(得分:0)
在build-helper-maven-plugin
之前手动maven-compile-plugin
和jaxws-maven-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>
我没有测试过它,但我认为它应该可行。