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

标签 java eclipse google-app-engine

按照以下指示: 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/

相关文章:

java - Spring Boot 嵌入式 Tomcat 应用程序作为 Windows exe 文件

java - 非常基本,java 中方法中的方法

java - 如何使用 Eclipse 国际化 OSGi 应用程序?

java - 如何在 Eclipse 中添加 Java 代码的快捷键

java - 请求线程是否在 http 请求之间重用?

python - 如何设置Google机器学习任务的输出目录?

python - 无法使用 NDB get_by_id 获取命名空间中的实体

java - 在 Spark Java 中,重定向后 session 为空

java - 通过 RandomStringUtils 生成随机绘制字符串数组的简短方法

java - 如何找出哪个插件包含所需的类?