2011-11-11 32 views
8

Tôi đang cố gắng để thiết lập mùa xuân 3.0.6 thư viện như là một module trong JBoss 7.mùa xuân trong JBoss 7

tôi có tất cả các lọ trong modules/org/Spring Framework/chính cùng với các mô-đun sau .xml

<module xmlns:"urn:jboss:module:1.0" name="org.springframework"> 
    <resources> 
      <resource-root path="org.springframework.beans-3.0.6.RELEASE.jar"/> 
      ... 
    </resources> 

    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.servlet.api"/> 
     <module name="org.apache.commons.logging"/> 
    </dependencies> 
</module> 

tôi thêm org.springframework vào dòng Dependencies trong MANIFEST.MF tôi

Khi tôi triển khai ứng dụng các ngoại lệ sau đây được ném trong khi phân tích spring-servlet.xml tập tin của tôi (xin lỗi, đây là từ một hệ thống đó là chưa được nối mạng)

SAXParseException: ... Cannot find the declaration of element 'beans' 

Suy nghĩ đầu tiên của tôi là các mô-đun không được sử dụng nhưng nếu tôi loại bỏ org.springframework từ Dependencies của tôi dòng nó thất bại trong việc tìm org.springframework.web.context.ContextLoaderListener

Tất cả mọi thứ hoạt động tốt nếu tôi đặt các lọ trong WEB-INF/lib thay sử dụng mô-đun.

spring-servlet.xml chứa các tài liệu tham khảo sơ đồ sau

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 

vì vậy tôi đặt spring-beans-3.0.xsd trong cùng thư mục với spring-servlet.xml và sửa đổi xml để

http://www.springframework.org/schema/beans spring-beans-3.0.xsd 

nhưng vẫn không có may mắn.

Bất kỳ ai có ý tưởng về lý do các tệp lớp được tìm thấy nhưng các tệp xsd thì không?

+0

là các JAR của bạn có tên như sau: org.springframework.beans-3.0.6.RELEASE.jar hoặc chỉ là beans-3.0.6.RELEASE.jar? –

+0

jar này được đặt tên là org.springframework.beans-3.0.6.RELEASE.jar, những cái khác được đặt tên tương tự như chúng xuất phát từ bản phân phối lò xo. Các lọ dường như được nhận ra khi quét mô-đun vì có tệp .index cho mỗi lọ trong mô-đun. – Thevenin

+0

Ngẫu nhiên tôi đang cố gắng này trên JBoss 7.0.2. – Thevenin

Trả lời

5

Chỉ trong trường hợp liên kết đã được đưa ra trong các ý kiến ​​sẽ biến mất, vấn đề là

Vấn đề:

Các tập tin cấu hình không gian tên trong META-INF, nhưng điều đó thư mục không phải là nhìn thấy được (cũng không phải là cấu hình qua JBoss-triển khai-structure.xml)

giải pháp:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> 
     <deployment> 
      <dependencies> 
       <module name="org.apache.commons.logging"/> 
       <module name="org.springframework" > 
        <imports> 
         <include path="META-INF**"/> 
         <include path="org**"/> 
        </imports> 
       </module> 
      </dependencies> 
    </jboss-deployment-structure> 
+3

Chỉ cần làm rõ: nhận xét "cũng không thể định cấu hình thông qua jboss-deployment-structure.xml" là thông tin cũ từ phiên bản trước. Bây giờ nó được cấu hình, giống như ví dụ trong câu trả lời này cho thấy. – eis

0

Đang đối mặt với cùng một vấn đề. Đã thiết lập một mô-đun mùa xuân trên JBoss 7 và sau đó khi triển khai ứng dụng của tôi, đã phải đối mặt với cảnh báo dưới đây:

Không thể đọc tài liệu giản đồ 'http://www.springframework.org/schema/beans/spring-beans-3.2.xsd'

tôi hiểu các tập tin bối cảnh mùa xuân là không thể truy cập các định nghĩa lược đồ từ các bình xuân, sau khi đọc liên kết trong các bình luận ở trên. Và do đó, ứng dụng không được triển khai. Nhưng giải pháp được đưa ra ở đó không hiệu quả đối với tôi. Nhưng đoạn mã dưới đây trong tệp cấu trúc jboss-deployment -.xml đã giải quyết vấn đề.

Giải pháp

<module name="org.springframework.spring" meta-inf="export" export="true" /> 

Added meta-inf="export" thuộc tính.