GAE多模块(服务)和工作目录

时间:2017-03-21 14:31:11

标签: java eclipse google-app-engine

遵循以下指示: Create Google App Engine Project in Eclipse with Modules

我可以创建1个企业应用和2个相关的动态网络应用(默认和任务)。它们工作正常,但每次运行本地服务器(使用Eclipse的Google插件)时,控制台始终显示错误:

WARNING: Your working directory, (D:\Workspaces\GAE\MyProject\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\MyProject) is not equal to your 
web application root (D:\Workspaces\GAE\MyProject\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\MyProject\MyProject_default.war)
...
WARNING: Your working directory, (D:\Workspaces\GAE\MyProject\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\MyProject) is not equal to your 
web application root (D:\Workspaces\GAE\MyProject\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\MyProject\MyProject_tasks.war)
You will not be able to access files from your working directory on the production server.

了解它抱怨工作文件夹(属于Enterprise App)对于两个Web根目录都不相同。

如果我将工作文件夹的参数更改为默认Web应用程序的根文件夹: d:\工作区\ GAE \ MyProject.metadata.plugins \ org.eclipse.wst.server.core \ TMP1 \ MyProject的\ MyProject_default.war

不再显示第一个警告,但仍显示第二个警告。

我认为将工作文件夹更改为默认的Web应用程序根文件夹是不对的。

总之,由于多个模块,我有2个根文件夹,但只能在参数中设置一个工作文件夹。这是解决这个问题的方法吗?

由于

RGDS SJ

1 个答案:

答案 0 :(得分:0)

App Engine模块已重命名为 services ,在很大程度上(我怀疑),以避免与Web模块混淆。本地开发应用服务器的一个限制是它在一个进程中托管服务,而一个进程只能有一个工作目录。

此限制仅影响直接访问文件(例如new File("path/to/my/file"))。但是there are better ways to access files from within a servlet