让IntelliJ 12将GWT输出放在正确的位置

时间:2013-02-22 16:58:33

标签: gwt intellij-idea

由于我必须要求您接受的原因,我需要构建我的GWT应用程序,以便所有输出都可以在“/Foo/bar/1.0”获得,而不是正常的“/”

具体来说,我需要在IntelliJ内部编译我的GWT应用程序的结果如下:

~/.IntelliJIdea12/system/gwt/Project.534b2263/Test.ef6cd448/run/www/
  - Foo
    - bar
      - 1.0
         - Testing.html
         - Testing.css
         - (other files in here too, like favicon.ico, etc...)
         - WEB-INF
           - (contents left out here)
         - testing
           - testing.devmode.js
           - testing.nocache.js

我能做的最好的事情就是将Testing.html,Testing.css等放到正确的位置。我通过将我的GWT模块的“输出相对路径”设置为“/Foo/bar/1.0/”我的Web资源目录的“相对于DeploymentRoot的路径”来获得相同的“/富/酒吧/ 1.0 /".

然而,包含testing.devmode.js和testing.nocache.js的“testing”目录似乎结束于〜/ .IntelliJIdea12 / system / gwt / Project / 534b2263 / Test.ef6cd448 / run / www /测试目录。 显然,这意味着当Testing.html尝试包含testing / testing.nocache.js时,无法找到它,并且我的GWT应用程序无效。

希望我只是错过了一些简单的东西,但我已经挖了好几个小时......

对于那些可能感兴趣的人,我已经创建了一个示例项目来说明问题并将其与相同的基本问题一起发布在IntelliJ论坛上:http://devnet.jetbrains.com/thread/442050

2 个答案:

答案 0 :(得分:0)

(从IntelliJ论坛复制) 如果需要将GWT编译器输出放在某处,则需要创建工件(文件|项目结构|工件)并添加“GWT编译器输出” 它的元素。您还可以将“Web facet resources”元素放到同一个工件中。如果你需要将GWT输出放在下面的子文件夹中 工件输出根在工件编辑器的“输出布局”树中使用“新建文件夹”操作。

答案 1 :(得分:0)

为了便于将来参考并且很容易找到这个答案,最终结果(参见http://devnet.jetbrains.com/thread/442050)无法控制GWT编译器输出的位置。

实际上这意味着(对我的项目而言)是我必须进行运行时检查:GWT.isProdMode()然后从不同位置加载资源。