2012-09-24 29 views
10

Đây là vấn đề khá phổ biến và tôi đã tìm thấy nhiều giải pháp không hoạt động cho tôi trên web. Tôi tuyên bố:Phụ thuộc Maven chính xác để sử dụng Spring JMS và ActiveMQ là gì?

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jms</artifactId> 
    <version>3.0.7.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.activemq</groupId> 
    <artifactId>activemq-all</artifactId> 
    <version>5.5.0</version> 
</dependency> 

Và cầu cảng plug-in

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
</plugin> 

Nhưng tôi tiếp tục nhận được ngoại lệ sau khi phát hành "cầu cảng mvn: chạy":

org.springframework. beans.FatalBeanException: NamespaceHandler class [org.apache.xbean.spring.context.v2.XBeanNamespaceHandler] cho không gian tên [http://activemq.apache.org/schema/core] không tìm thấy; lồng nhau ngoại lệ là java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

Điều gì sẽ là maven phụ thuộc đúng để chạy Jetty, ActiveMQ và Spring JMS?

Trả lời

13

Bạn cần sự phụ thuộc vào xbean-spring

<dependency> 
    <groupId>org.apache.xbean</groupId> 
    <artifactId>xbean-spring</artifactId> 
    <version>3.7</version> 
</dependency> 
2

Nếu ý định của bạn là có những phụ thuộc như phụ thuộc 'được cung cấp' cho ứng dụng web của bạn thì hãy làm cho chúng phụ thuộc vào chính plugin jetty-maven, bạn có thể thêm các thẻ bên trong từ chối của plugin jetty-maven. Giả sử bạn đã xác thực các lớp mà bạn thiếu trong các phụ thuộc đó hoặc các phụ thuộc của chúng.