2012-10-05 36 views
4

My Intellij IDE告诉我我的Bean定义的范围“tenant”无法解析。Spring bean范围Tenant无法由Intellij解决

虽然它不阻止我部署和运行我的应用程序,但它看起来有点麻烦。有没有办法告诉Intellij如何解决这个问题?

我已经尝试添加coreserver.jar,这是一个包含TenantScope类,我模块的依赖关系的罐子,但没有奏效。

Intellij的检查显示错误'Spring Scopes'。我不得不让这个检查知道Tenant Scope是在另一个模块的XML文件中声明的。我也尝试添加这个其他模块作为petsplacecore模块的依赖关系,但这也不起作用。

这里是我的屏幕看起来是这样的:

enter image description here

承租人范围的模块中声明yacceleratorstorefront,在文件web应用-config.xml中,像这样:

<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer"> 
     <property name="scopes"> 
      <map> 
       <entry key="tenant" value="de.hybris.platform.spring.TenantScope"/> 
      </map> 
     </property> 
    </bean> 
+1

实际定义的范围在哪里? –

+0

感谢您的关注。不确定,通常应该在哪里定义?这是否应该在我的类路径上,但可能不是? –

+1

“tenant”不是一个标准的bean作用域,所以我认为它是由您正在使用的某个框架或库提供的。也许Grails或骆驼?将bean作为“租户”实际上做了什么(在您的应用程序中)? –

回答

4

如果我将2个Spring配置文件添加到Petsplacecore的Spring Facet中的同一个Fileset,那么可以找到对租户作用域声明的引用。

如下面的图所示:

enter image description here

2

“租户”范围是一个定制的hybris范围,在web-application-config.xml中定义为:

<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer"> 
    <property name="scopes"> 
     <map> 
      <entry key="tenant" value="de.hybris.platform.spring.TenantScope"/> 
     </map> 
    </property> 
</bean> 

你应该可以在platform/ext/core/bin/coreserver.jar中找到它 - 将此jar添加到你的类路径中。 并且结束了我对IntelliJ的了解,恐怕...

+0

Hi DrUseful, 你是对的声明和包含TenantScope类的jar,但将jar添加到我的类路径并没有帮助。 Intellij检查'Spring Scopes'显示错误。我必须通过某种方式让这次检查知道Tenant Scope是在另一个模块中用XML声明的。我也尝试添加这个其他模块作为我的petsplacecore模块的依赖项,但是这也不起作用。 –

0

由于采用hybris 5.0,自定义“租客”的范围不再需要在Spring配置文件,从而就没有必要让Intellj IDEA承认这个自定义范围。

相关问题