1

我创建了两个 GWT 项目,一个使用 maven,另一个不使用,在这两种情况下,它都会在启动我的 GWT 应用程序时给我以下警告:

Warning: Your working directory, (C:\Users\XXX\.IntelliJIdea12\system\gwt\XXXX.xxxx\run\www) is not equal to your 
web application root (C:\Users\XXX\ws\myprj\myprj\target\myprj-0.0.1-SNAPSHOT)
You will not be able to access files from your working directory on the production server.

我在运行/调试配置中的开发模式参数中指定了 -war 参数,但似乎没有效果。它在启动命令行中有两个 -war 选项!

但是启动似乎还可以,我很好奇为什么会出现此警告以及如何解决。

非常感谢。

4

1 回答 1

0

我认为删除此警告的最简单方法是不要在Idea 的运行/调试配置的开发模式参数中为您的 buid 配置使用-war参数。

解释:

Idea诚实地告诉你真相。它使用定义为 your_home_folder/.IntelliJIdea12/system/gwt/XXXX.xxxx/run/www 的工作目录运行服务器

因此,如果在 Run/Debug Configurations 中定义了Before launch: Make它将构建项目并将所需的所有内容复制到此目录。

但是您正在为开发模式参数定义 -war ,这不会改变想法将项目构建到自己的目录这一​​事实,因为您的参数将仅在运行时使用。因此,Idea 检测到该事实较晚并警告您,但 Idea 不知道您实际上是在从构建结果中引用正确的目录,并且它应该可以正常工作。所以这就是为什么它在 Idea 的警告下仍然有效。

我不知道为什么你必须使用目标中的目录所以如果这个要求不严格并且你可以从你的开发模式参数中删除这个-war参数它仍然可以工作,因为 Idea 制作并部署了你需要拥有的工作目录的一切.

于 2013-08-15T12:55:34.840 回答