سؤال

أحاول تشغيل مثال الإبل "مثال على ذلك مثال على ذلك http://activemq.apache.org/camel/tutorial-jmsremoting.html). ومع ذلك ، عندما أحاول أن أبدأ الجمال باستخدام فئة "org.apache.camel.spring.main" ، أحصل على خطأ في القول

"مشكلة التكوين: غير قادر على تحديد موقع Spring NamespaceHandler لمساحة اسم مخطط XML [http://activemq.apache.org/schema/core"

ملاحظة: أنا قادر على تشغيل المثال على ما يرام عندما أستخدم أمر Maven "MVN exec: Java -Pcamelserver"

هل يمكن لشخص ما مساعدتي في فهم ما قد يسبب هذا. تلميح الدقة المحتملة لن يضر أيضًا :)

++++++ مكدس خطأ +++++

Dec 4, 2008 12:45:01 PM org.apache.camel.util.MainSupport doStart
INFO: Apache Camel 1.5.0 starting
Dec 4, 2008 12:45:01 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1ac3c08: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1ac3c08]; startup date [Thu Dec 04 12:45:01 EST 2008]; root of context hierarchy
Dec 4, 2008 12:45:01 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from file [C:\dev\camel-example-spring-jms\bin\META-INF\spring\camel-server-aop.xml]
Dec 4, 2008 12:45:02 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from file [C:\dev\camel-example-spring-jms\bin\META-INF\spring\camel-server.xml]
Dec 4, 2008 12:45:03 PM org.apache.camel.util.MainSupport run
SEVERE: Failed: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [camel-server.xml]
Offending resource: file [C:\dev\camel-example-spring-jms\bin\META-INF\spring\camel-server-aop.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://activemq.apache.org/schema/core]
Offending resource: file [C:\dev\camel-example-spring-jms\bin\META-INF\spring\camel-server.xml]

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [camel-server.xml]
Offending resource: file [C:\dev\camel-example-spring-jms\bin\META-INF\spring\camel-server-aop.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://activemq.apache.org/schema/core]
Offending resource: file [C:\dev\camel-example-spring-jms\bin\META-INF\spring\camel-server.xml]

        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:201)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:147)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
        at org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:189)
        at org.apache.camel.spring.Main.doStart(Main.java:152)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
        at org.apache.camel.util.MainSupport.run(MainSupport.java:121)
        at org.apache.camel.util.MainSupport.run(MainSupport.java:310)
        at org.apache.camel.spring.Main.main(Main.java:72)

++++++

هل كانت مفيدة؟

المحلول

لذلك يعمل بشكل جيد تحت Maven - ولكن ليس إذا قمت بتشغيله كيف؟ في IDE الخاص بك أو شيء من هذا القبيل؟

إذا كنت تستخدم Eclipse / Intellij ، فيمكنك إنشاء مشروع IDE لمشروع Maven باستخدام Maven.

mvn eclipse:eclipse

أو

mvn idea:idea

إذا كنت تكتب بعض البرنامج النصي shell أو تشغيله من سطر الأوامر ، فمن المحتمل أنك تفتقد بعض الجرار ؛ ستحتاج إلى Spring + Jaxb + Commons-Logging + Camel-Core و Camel-Spring و Camel-JMs.

للحصول على قائمة دقيقة من التبعيات في نوع Maven

mvn dependency:tree

نصائح أخرى

يحدث هذا الاستثناء بالذات عندما لا تكون مكتبة Camel-JMS. JAR على ClassPath. كما ذكر جيمس ، تأكد من أن هذه المكتبة بشكل صحيح في ClassPath عند التشغيل.

واجهت مشكلة مماثلة عند استخدام الإبل (على الرغم من أنه كان الجمل 1.3). في حالتي كان الخطأ:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate NamespaceHandler for namespace [http://activemq.apache.org/camel/schema/spring]

تمكنت من إصلاحه عن طريق تغيير إصدار JDK الخاص بي. كنت أستخدم JDK 1.5 ، لقد قمت بالترقية إلى 1.6 وهذا حل مشكلتي. أتمنى أن يساعدك هذا.

مونيكا

ما هو إصدار JDK1.5 الذي تستخدمه؟ هل تستخدم JDK مختلف في Eclipse مقابل سطر الأوامر؟

يمكن أن تكون مشكلة مع Jaxb عدم وجود الإصدار الصحيح. يجب أن يكون Jaxb 2.1 أو الأحدث.

واجهت نفس المشكلة ، سواء داخل Eclipse أو مع أدوات خارجية (Maven). كما أشار جيمس وبيت ، مضيفا Camel-JMS.Jar داخل Classpath ، حل مشكلتي. يبدو أن الإبل كوور و Camel-JMS هي التبعيات الإلزامية الأساسية:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>1.6.0</version>
  <scope>compile</scope>
</dependency>

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-jms</artifactId>
  <version>1.6.0</version>
  <scope>runtime</scope>
</dependency>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top