2012-10-05 39 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承認這個自定義範圍。

相關問題