让Intellij12将GWT输出放在正确的位置
出于我不得不要求您接受的原因,我需要构建我的GWT应用程序,以便所有输出都可以在“/Foo/bar/1.0”,而不是正常的“/” 具体来说,我需要在IntelliJ内部编译GWT应用程序的结果如下:让Intellij12将GWT输出放在正确的位置,gwt,intellij-idea,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
~/.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的路径”设置为相同的“/Foo/bar/1.0/”,来实现这一点
但是,包含testing.devmode.js和testing.nocache.js的“testing”目录似乎位于~/.IntelliJIdea12/system/gwt/Project/534b2263/Test.ef6cd448/run/www/testing目录中。
显然,这意味着当Testing.html试图包含Testing/Testing.nocache.js时,找不到它,并且我的GWT应用程序无法工作
希望我只是错过了一些简单的东西,但我已经在周围挖了几个小时
对于那些可能感兴趣的人,我创建了一个示例项目来说明这个问题,并将其与这个基本问题一起发布在IntelliJ论坛上:。(从IntelliJ论坛复制)
如果需要将GWT编译器输出放在某个地方,则需要创建工件(文件|项目结构|工件)并添加“GWT编译器输出”
它的元素。还可以将“WebFacetResources”元素放在同一工件中。如果需要将GWT输出放入
工件输出根用户在工件编辑器的“输出布局”树中使用“新建文件夹”操作。仅供将来参考并易于找到此答案,最终结果(请参阅)无法控制GWT编译器输出的位置
实际上,这意味着(对我的项目而言)我必须进行运行时检查:GWT.isProdMode(),然后从不同的位置加载资源。不幸的是,这是不对的。这只会影响工件的构造,而不会影响调试期间的GWT编译器输出。如果您在工件中获得GWT输出,为什么您会感到不安,首先会将GWT编译器输出生成到其“system”目录下的某个中间位置?我将在解决问题后返回并在此处发布完整的解决方案。