Java GAE开发服务器:如何从受限制类的beeing检查中排除部分代码?

Java GAE开发服务器:如何从受限制类的beeing检查中排除部分代码?,java,google-app-engine,Java,Google App Engine,我想在AppEngine上尝试一种新的Jvm语言(YetiLang) 为了获得更快的开发,有一个ServletFilter,它在开发模式下监视yeti源目录,并在每次更改时自动重新编译yeti源,然后使用它们来处理rquest。(在生产过程中,源代码由buildscript编译,而过滤器不执行任何操作) 这在普通的Servlet容器上运行良好,但是gae开发服务器抱怨使用受限类(用于监视源目录的更改的java nio.file.Filesystem),这通常是好的。然而,在这种情况下,如果我能将

我想在AppEngine上尝试一种新的Jvm语言(YetiLang)

为了获得更快的开发,有一个ServletFilter,它在开发模式下监视yeti源目录,并在每次更改时自动重新编译yeti源,然后使用它们来处理rquest。(在生产过程中,源代码由buildscript编译,而过滤器不执行任何操作)

这在普通的Servlet容器上运行良好,但是gae开发服务器抱怨使用受限类(用于监视源目录的更改的java nio.file.Filesystem),这通常是好的。然而,在这种情况下,如果我能将这个DevlopmentFilter从受限类检查中去掉,或者以某种方式解决它,那就太好了


有没有办法做到这一点

您的任何GAE/J代码都不能在GAE/J白名单之外,无论是在生产中还是在开发应用服务器上,因此您不能在GAE/J应用程序中使用
java.nio.file.FileSystem


至于解决方法,您能否使用其他Java文件类(例如:
Java.io.file
)完成您想要做的事情(不包括写入GAE/J文件系统,这在GAE/J中是不允许的)?

您的任何GAE/J代码都不能在GAE/J白名单之外,无论是在生产中还是在开发应用服务器上,因此,您不能在GAE/J应用程序中使用
java.nio.file.FileSystem


至于解决方法,您能否使用其他Java文件类(例如:
Java.io.file
)完成您想要做的事情(不包括写入GAE/J文件系统,这在GAE/J中是不允许的)?

我现在解决这个问题的方法是将true添加到appengine-web.xml中。这似乎关闭了对受限类的检查


然而,我更喜欢一个系统属性或一些我可以在启动dev服务器时设置的东西来打开/关闭白名单检查。因为我不想使用此标记部署appengine-web.xml

我现在解决这个问题的方法是将true添加到appengine-web.xml中。这似乎关闭了对受限类的检查


然而,我更喜欢一个系统属性或一些我可以在启动dev服务器时设置的东西来打开/关闭白名单检查。因为我不想使用此标记部署appengine-web.xml

谢谢你的回答。我可以使用java.io.File扫描源代码更改。但是,对于类文件的重新编译,必须将其写入文件系统(仅在开发模式下)。感谢您的回答。我可以使用java.io.File扫描源代码更改。但是,为了重新编译类,必须将文件写入文件系统(仅在开发模式下)。我在看com.google.appengine.tools.development.DevAppServerFactory#createDevAppServer()方法,它似乎有一种在没有安全性的情况下启动服务器的方法。那有用吗?我还研究了play框架gae模块。他们似乎在com.google.apphosting.api.ApiProxy上创建自己的委托并使用自己的Web服务器。也许我会试试这条路?恐怕在这些事情上我帮不了你;我从未使用过
devapServerFactory
方法或play framework GAE模块。感谢您的回答。我可以使用java.io.File扫描源代码更改。但是,对于类文件的重新编译,必须将其写入文件系统(仅在开发模式下)。感谢您的回答。我可以使用java.io.File扫描源代码更改。但是,为了重新编译类,必须将文件写入文件系统(仅在开发模式下)。我在看com.google.appengine.tools.development.DevAppServerFactory#createDevAppServer()方法,它似乎有一种在没有安全性的情况下启动服务器的方法。那有用吗?我还研究了play框架gae模块。他们似乎在com.google.apphosting.api.ApiProxy上创建自己的委托并使用自己的Web服务器。也许我会试试这条路?恐怕在这些事情上我帮不了你;我从未使用过
devapServerFactory
方法或play framework GAE模块。您忘了完成第一段。您忘了完成第一段。