maven-gwt-plugin和JAR包装

时间:2015-11-09 14:06:17

标签: maven gwt maven-jar-plugin

我正在将遗留的Spring项目构建脚本从Ant重写为Maven。该项目有几个GWT模块,每个模块都编译为JAR。当前的项目结构由几个Maven模块组成,这些模块或多或少是这样的: mainProject |- AnalyzerGWT <-- this module uses GWT |- analyzer <-- this doesn't |- someOtherModule |- p4you-spring <-- this module has resources and builds WAR

每个使用GWT的模块在其 pom.xml 中都有以下代码(模块名为 AnalyzerGWT ):

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <gwtSdkFirstInClasspath>true</gwtSdkFirstInClasspath>
                <compileSourcesArtifacts>
                    <artifact>com.pamm:portal-common</artifact>
                    <artifact>com.pamm:analyzer</artifact>
                </compileSourcesArtifacts>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

它成功编译并将结果GWT资源保存到 AnalyzerGWT / target / AnalyzerGWT-1.0 / com.pamm.analyzer.gwt.Analyzer / 中,但此目录的内容未包含在结果中JAR文件。

有没有一种优雅的方法可以将此目录的内容复制到JAR的根路径中?

2 个答案:

答案 0 :(得分:2)

我设法通过添加:

来解决问题
   <plugin>       
         <artifactId>maven-resources-plugin</artifactId>
            <version>2.5</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                        <resources>
                            <resource>
                                <directory>
                                    ${project.build.directory}/AnalyzerGWT-1.0/com.pamm.analyzer.gwt.Analyzer/
                                </directory>
                                <filtering>false</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
    </plugin>

pom.xml 中的<plugins>部分。

答案 1 :(得分:0)

该文件夹中的文件很可能是GWT编译器生成的javascript,因此您可能最好不要将模块打包为WAR文件

<packaging>war</packaging>

Maven会为你做其余的事。

干杯,