当我尝试访问应用程序根目录下lib目录中的库时,出现了ImportError错误。
我在文档中执行了必要的步骤,并且仅使用一个模块,但是一旦移到具有多个模块的目录结构,它便不再起作用:
<app root>
|
+-- appengine_config.py
|
+-- lib
|
+-- modules
+-- module1
|
+-- module2
在我的appengine_config.py中,添加以下行:
vendor.add(os.path.join(os.path.dirname(__file__), 'lib'))
对这里可能发生的事情有任何想法吗?
编辑:这个目录结构似乎对我有用:
<app root>
|
+-- lib
|
+-- module1
| +-- appengine_config.py
| |
| +-- app.yaml
| |
| +-- lib <symlink to app root lib>
+-- module2 (same as module 1)
我认为appengine_config.py是在主应用程序级别而不是模块级别定义的东西。在每个模块中复制相同的确切文件和符号链接是否正确?
每个模块目录都作为一个独立的应用程序上载,并且它需要该模块目录中的所有文件(即,模块的 父
目录中的任何内容都不上载/在模块中可见)。模块目录是包含模块.yaml
文件的目录,因此在您的情况下,它们将是modules/module1
和modules/module2
目录。
因此,将lib
目录和目录appengine_config.py
从应用程序目录符号链接到模块目录中。另外,正如Tim所提到的,对于我的应用程序来说,有效的销售商行确实是just
vendor.add('lib')
。复制它们同样有效,但是符号链接更好,因为您只需要按照DRY精神在版本控制系统中维护一个副本。该appcfg.py
脚本知道遵循符号链接并上传符号链接指向的实际文件。
如果你并不需要 所有的 ,但只有 一些
模块的库,你可以创建一个lib
在该模块dir指明,只有符号链接的应用程序的必要子目录lib
DIR到相应模块的lib
目录(不要上传不必要的文件)。
您 可能
还需要符号链接到其他应用程序级配置文件中的某些模块,以使开发服务器上的某些支持脚本保持满意,请参见以下答案:https
:
//stackoverflow.com/a/34111170/4495081。请注意,仅通过上载单模块应用程序教程中提到的模块代码,可能不会仅通过上载模块的代码来更新应用程序级别的配置,而是需要appcfg.py
使用备忘单中提到的相应参数显式地请求它们。回答。
我正在尝试从最好的提供商那里获取位置。我启用了GPS。此外,当我打印纬度和经度时,我从网络提供商那里获取它。 我的问题是: 如果启用了GPS,那么我想通过GPS搜索30秒的位置。在那之后,如果我的精度低于200米,那么我就使用它。如果精度超过200米,我会再次搜索,然后从网络提供商那里开始。 之后,我比较两者的准确性,并获取更准确的提供商的数据。 这是我的代码: LocationUtil。JAVA
问题内容: 我创建了一个本地EJB,我想从同一VM中的Web模块访问它。我的代码如下所示: 这很好。但是,有人告诉我,如果我正在使用本地bean,则不需要进行查找,我只需要进行如下注入: 但是,如果我尝试这样做,则会在this.userBean上得到一个空异常。建议我的人与JBoss合作,而我正在使用glassfish。难道我做错了什么? 问题答案: @EJB注释仅适用于应用程序服务器控制的类,例
我没有提到这段代码只有在我将ejb.jar包含在ear应用程序的lib文件夹中时才起作用,war模块可以“看到”它。还有其他方法可以访问EJB类吗?我使用的也是Intellij,该应用程序是一个java EE应用程序,包含一个web模块(用于war)。 编辑 我无法避免glassfish从v2升级到V4。这是我做的最好的决定,因为我所有的问题都过去了。在我的代码中所有的ejb注入都非常有效! 谢谢
我正在编写一个处理多个系统的应用程序。用户可以选择他想使用的系统,我将该系统ID存储在会话(客户端会话)中 现在我有了服务类,比如说CustomerService。 我想使用 Guice 将客户实例注入控制器。但是我想使用存储在会话中的系统ID实例化客户服务。 如何访问<code>请求。Guice模块中的会话? 编辑: 简化了我上面的代码。我的实际代码使用接口。我如何使用辅助注射? 这给了我:客户
尝试在JMX控制台中注册MBean时,我收到以下错误消息: 我正在使用Eclipse,我的项目结构中没有文件。 当我注释我对javaeeapi的依赖关系时,错误消失了,但是包不是JAR的一部分。