2016-03-29 69 views
1

JAVAで私のプロジェクトのスプリング構成を書いています。私は春には新しく、春に関係するエラーを理解することはできません。相対パスを使用したSpring Bean定義ファイルのインポート

は、META-INF /要求の詳細-EDX-upload.xmlで
ProjectName 
--> src 
    --> META-INF 
     --> jobs 
      -->edx 
       -->request-details.xml 
      -->clients.xml 
      -->daos.xml 
      -->environment.xml 
     --> request-details-edx-upload.xml 

私は、次のインポート:

<import resource="jobs/environment.xml" /> 
<import resource="classpath:META-INF/jobs/edx/request-details.xml" /> 
<import resource="jobs/clients.xml" /> 
<import resource="jobs/daos.xml" /> 

しかし、私は次のエラーを取得する: は、私は、次のファイル構造を持っている

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd 
    "> 
<!-- RequestDetails EDX data upload dao --> 
<bean id="requestDetailsDataUploadDao" class="com.amazon.edx.dao.DataUploadDaoEdxClientImpl" 
context:providerName="scot" 
context:subjectName="${edxRequestDetailsSubject}" 
context:dataSetName="by-01-day" 
context:keyName="${regionValue}" 
context:edxClient-ref="edxClient" 
/> 
<util:list id="requestDetailsColumnMetaData" value-type="com.amazon.edx.transformer.ColumnMetaData"> 
     <ref bean="Column"/> 
     <ref bean="Column1"/>     
</util:list> 
<bean id="Column" class="com.amazon.edx.transformer.ColumnMetaData" 
    context:attributeName="Id" 
    context:dataType="VARCHAR2" 
    context:columnDisplayName="IMS" 
/>  
<bean id="Column1" class="com.amazon.edx.transformer.ColumnMetaData" 
    context:attributeName="id1" 
    context:dataType="VARCHAR2" 
    context:columnDisplayName="IMS" 
/> 
<util:constant id="tabDelimiter" 
     static-field="com.amazon.edx.transformer.Delimiters.TAB_DELIMITER" /> 


<!-- RequestDetails data backup --> 
<bean id="requestDetailsDataTransformer" class="com.amazon.edx.transformer.DataTransformerImpl" 
context:dataFlattener-ref="requestDetailsDataFlattener" 
context:columnMetadata-ref="requestDetailsColumnMetaData" 
context:delimiter="{tabDelimiter}" 
/> 
</beans> 
Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:META-INF/jobs/edx/request-details.xml] 
Offending resource: class path resource [META-INF/request-details-edx-upload.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Cannot locate BeanDefinitionDecorator for attribute [dataSetName] 
Offending resource: class path resource [META-INF/jobs/edx/request-details.xml] 

要求-details.xmlは、このようなものです

相対パスのインポートに間違いがありますか?

ありがとうございました。

+0

'request-details.xml'のテキストを提供できますか? –

+0

がrequest-details.xmlを追加しました – rightCoder

答えて

0

スキーマ定義が間違っているようです。名前空間xmlns:context="http://www.springframework.org/schema/context"<beans>タグから削除してください。代わりにxmlns:p="http://www.springframework.org/schema/p"名前空間を追加します。また、context:接尾辞はすべてp:接尾辞で置き換える必要があります。 p-namespaceのショートカットを使用する適切なxmlは、次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/util 
     http://www.springframework.org/schema/util/spring-util-3.0.xsd"> 

    <!-- RequestDetails EDX data upload dao --> 
    <bean id="requestDetailsDataUploadDao" class="com.amazon.edx.dao.DataUploadDaoEdxClientImpl" 
     p:providerName="scot" 
     p:subjectName="${edxRequestDetailsSubject}" 
     p:dataSetName="by-01-day" 
     p:keyName="${regionValue}" 
     p:edxClient-ref="edxClient" 
    /> 

    .... 

</beans> 
+0

それを指摘してくれてありがとう。 p-namespaceを使用してこのエラーを解決しました。しかし、私はさらにエラーが発生し、代わりにc-namespaceを使用しました。うまくいった。ありがとう。 – rightCoder

関連する問題