2013-03-24 12 views
10

tôi đang nhận được lỗi khi tôi cố gắng để tải lên một tập tin dựa chính xác ra ví dụ đưa ra ở đây SampleAsynchronousDispatcher lỗi

Các lỗi được

Phân bổ ngoại lệ cho servlet com.testapp.rest.JaxRsActivator : java.lang.RuntimeException: Không thể tìm thấy hàm tạo công khai cho lớp org.jboss.resteasy.core.AsynchronousDispatcher

Điều này có ý nghĩa gì?

Trả lời

50

Nếu triển khai lên JBoss 7.x, bạn cần phải thay đổi phạm vi phụ thuộc an toàn của mình thành provided. Điều này là do các thư viện nói riêng đã được bao gồm trong JBoss như module:

<dependency> 
    <groupId>org.jboss.resteasy</groupId> 
    <artifactId>resteasy-jaxrs</artifactId> 
    <version>2.2.1.GA</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.jboss.resteasy</groupId> 
    <artifactId>resteasy-multipart-provider</artifactId> 
    <version>2.2.0.GA</version> 
    <scope>provided</scope> 
</dependency> 
+0

Cảm ơn một triệu, đã làm việc hoàn hảo! – user1438082

+0

Chỉ cần làm ở đó - Chúc mừng! – user1438082

+1

Đối với những người đến đây, cũng đảm bảo rằng bạn kiểm tra phiên bản nào của thư viện đã/đã triển khai JBOSS - ví dụ POM của bạn có thể trỏ đến 2.2.0.GA, nhưng máy chủ có 3.0.10.Final (như trong trường hợp của tôi) và điều này khiến tôi đau đầu rất nhiều! – nemesisfixx

1

Giống như một nét duyên dáng điều

Một hơn, chắc chắn rằng bạn kiểm tra resteasy

$ mvn dependency:tree | grep "resteasy" 

[INFO] \- org.jboss.resteasy:resteasy-jaxrs:jar:3.0.10.Final:provided 
[INFO] +- org.jboss.resteasy:jaxrs-api:jar:3.0.10.Final:provided 
1

Có lẽ nó có giá trị đề cập đến rằng tài liệu RESTeasy có information về cách nâng cấp RESTeasy được bao gồm trong JBoss, như đã đề cập ở trên có thể gây ra một số nhức đầu nếu bạn cố gắng sử dụng một phiên bản khác.

0

Tôi đã sử dụng wildfly 10 để triển khai ứng dụng của tôi khi tôi đã nhận lỗi này và thử các giải pháp nêu trên và không làm việc cho tôi và cuối cùng tôi đã phải loại trừ jar resteasy-jaxrs sử dụng loại trừ maven

<dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-servlet-initializer</artifactId> 
     <version>3.0.19.Final</version> 
     <scope>provided</scope> 
     <exclusions> 
      <exclusion> 
       <artifactId>resteasy-jaxrs</artifactId> 
       <groupId>org.jboss.resteasy</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency>