Java GWT-如何将多个模块的编译器输出设置到同一文件夹中

Java GWT-如何将多个模块的编译器输出设置到同一文件夹中,java,gwt,gwt-compiler,Java,Gwt,Gwt Compiler,我正在使用2个gwt模块(每个模块都有一个入口点类集),它们扩展了一个包含共享静态文件(css、图像)的基本模块。当我编译这些模块进行部署时,gwt编译器会在我的“war”文件夹中创建两个文件夹“module1”和“module2”,并复制基本模块中的静态文件。 有没有办法将编译器设置为将公共输出写入同一文件夹,以便创建的模块javascript文件像module/module1.nocache.js和module2.nocache.js一样创建 谢谢。您不能使用gwt编译器来执行此操作,但可以

我正在使用2个gwt模块(每个模块都有一个入口点类集),它们扩展了一个包含共享静态文件(css、图像)的基本模块。当我编译这些模块进行部署时,gwt编译器会在我的“war”文件夹中创建两个文件夹“module1”和“module2”,并复制基本模块中的静态文件。 有没有办法将编译器设置为将公共输出写入同一文件夹,以便创建的模块javascript文件像module/module1.nocache.js和module2.nocache.js一样创建


谢谢。

您不能使用gwt编译器来执行此操作,但可以设置ant或maven任务:

如果使用ant,请在ant文件中放入类似的内容:

<copy todir="target/.../module1" >  
    <fileset dir="target/.../module2" includes="**"/>  
</copy>

如果您使用maven:

 <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <executions>
        <execution>
          <configuration>
            <tasks>
              <echo message="Customizing droid app for ${customer}"/>
              <copy todir="target/.../module1" >  
                 <fileset dir="target/.../module2" includes="**"/>  
              </copy>
            </tasks>
          </configuration>
          <phase>prepare-package</phase>
          <goals><goal>run</goal></goals>
        </execution>
      </executions>
 </plugin>

maven antrun插件
准备包装
跑

我认为这不是一个解决方案:首先,我需要移动文件(否则,这一切有什么意义?),其次,如果我移动它们,第二个模块将无法使用正确的相对链接构建资源。此解决方案效果良好。我有很多这样的项目。第二个模块对
/module2
一无所知,因为它的所有资源都与下载
module2.cache.js
文件的位置有关。嗯,我使用Eclipse(带有Google插件)部署到App engine,所以我可以在GWT编译之后和部署到Google App engine之前运行ant脚本吗?