按照以下指示: Create Google App Engine Project in Eclipse with Modules
我能够创建 1 个企业应用程序和 2 个关联的动态 Web 应用程序(默认应用程序和任务应用程序)。它们工作正常,但每次运行本地服务器(使用 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.
了解它提示两个 Web 根目录的工作文件夹(属于企业应用程序)不同。
如果我将工作文件夹的参数更改为默认 Web 应用程序的根文件夹: D:\Workspaces\GAE\MyProject.metadata.plugins\org.eclipse.wst.server.core\tmp1\MyProject\MyProject_default.war
第一个警告不再显示,但仍显示第二个警告。
而且我认为将工作文件夹更改为默认 Web 应用程序根文件夹是不正确的。
总而言之,由于多个模块,我有 2 个根文件夹,但只能在参数中设置一个工作文件夹。这是解决这个问题的方法吗?
谢谢
结果 SJ
最佳答案
App Engine 模块已重命名为服务,很大程度上(我怀疑)是为了避免与 Web 模块混淆。本地开发应用服务器的一个限制是它在单个进程中托管服务,并且一个进程只能有一个工作目录。
此限制仅影响直接访问文件(例如,new File("path/to/my/file")
)。但是there are better ways to access files from within a servlet .
关于java - GAE多模块(服务)和工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42930018/