3

好的,让我尽量让我的问题不那么令人困惑。

我有一个带有一些 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 ”下。但是,它们被放置在不同的包结构下。

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

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

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

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

我试图以最好的方式描述我的问题,所以请随时询问任何其他细节或澄清。

4

1 回答 1

0

手动build-helper-maven-pluginmaven-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>

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

于 2014-01-17T12:53:10.147 回答