Maven GWT插件添加其他源目录

时间:2011-06-28 20:23:20

标签: gwt plugins maven

如何将另一个源目录添加到maven gwt编译插件?我有一些生成的代码需要包含在编译中。

如果我不能,人们建议怎么解决这个问题?

3 个答案:

答案 0 :(得分:3)

我不知道您是否已查看此内容,但您可以使用compileSourcesArtifacts属性将生成的代码包含为外部库。有一篇关于在GWT Plugin Documentation中进行设置的文章。但是,只有在您不需要将外部代码包含在Web应用程序中时,这才有效。

每当我们过去需要这样做时,我们使用maven-resources-plugin's copy-resources goal将源代码复制到我们的主包结构中,并配置maven-clean-plugin to remove the files。因为gwt编译发生在build lifecycleprepare-package阶段,所以你需要将源文件复制到之前的目录中(我们将它们绑定到process-classes)。

答案 1 :(得分:2)

我将i18n的目标放在了generate-resources阶段并且运行良好。它将在gwt编译之前执行。

    <plugins>
        <!-- GWT Maven Plugin-->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.5.0-rc1</version>
             <dependencies>
                <dependency>
                    <groupId>com.google.gwt</groupId>
                    <artifactId>gwt-user</artifactId>
                    <version>${gwtVersion}</version>
                </dependency>
                <dependency>
                    <groupId>com.google.gwt</groupId>
                    <artifactId>gwt-dev</artifactId>
                    <version>${gwtVersion}</version>
                </dependency>
                <dependency>
                    <groupId>com.google.gwt</groupId>
                    <artifactId>gwt-servlet</artifactId>
                    <version>${gwtVersion}</version>
                </dependency>
            </dependencies>

            <executions>
                **<execution>
                    <id>generate-i18n</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>i18n</goal>
                    </goals>
                </execution>**
                <execution>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>resources</goal>
                        <goal>compile</goal>
                        <goal>test</goal>
                        <goal>generateAsync</goal>
                    </goals>
                </execution>

            </executions>

            <configuration>
                    <!-- your config -->
            </configuration>
        </plugin>

答案 2 :(得分:0)

这是有效的,因为您生成的输出是在普通源文件夹中生成的。 但问题是如何添加额外的源文件夹。