2009-11-26 16 views
5

Tôi đang triển khai ứng dụng của mình lên Tomcat 6.0.20.Không thể phân tích cú pháp - org.dom4j.DocumentException: org.dom4j.DocumentFactory không thể truyền sang org.dom4j.DocumentFactory

Ứng dụng sử dụng Hibernate như ORM, Spring và JSF cho web-tier.

Tôi cũng thực hiện thao tác đơn giản từ phương thức main() để kiểm tra sự cộng tác Spring-Hibernate. Và nó hoạt động tốt và hibernate.cfg.xml được phân tích khá tốt.

Tôi có thể thêm một số mã hoặc theo dõi ngăn xếp đầy đủ nhưng tôi không chắc chắn rằng nó cần thiết vì Google nói rằng đó là vấn đề điển hình và dễ dàng nhận ra nó từ tiêu đề. Rất tiếc, tôi không thể tìm thấy giải pháp ..

Vì vậy, ai biết cách khắc phục sự cố này?

Trả lời

13

Đảm bảo bạn không có hai lọ dom4j khác nhau trên đường dẫn lớp của bạn.

+5

như một trong classpath hệ thống tomcat và một ở webapp của bạn. – bmargulies

+0

@bmargulies: Đúng. Chúng tôi ** không được ** đặt lọ ngủ đông trong Tomcat. Làm cho nó trong lib ứng dụng web. – bnguyen82

8

Tôi đã giải quyết nó bằng cách loại trừ dom4j khỏi thực thể ngủ đông.

Đồng thời đảm bảo bạn thực hiện mvn clean trước đây.

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>4.1.5.SP1</version> 
     <scope>compile</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>dom4j</groupId> 
       <artifactId>dom4j</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
2

tôi giải quyết bằng cách thêm dom4j để pom.xml của tôi và làm cho phạm vi cung cấp

<dependency> 
    <groupId>dom4j</groupId> 
    <artifactId>dom4j</artifactId> 
    <version>1.6.1</version> 
    <scope>provided</scope> 
</dependency> 
+0

Nó cũng làm việc cho tôi. cấu hình của tôi là spring ** 3.6.3.2.11.RELEASE ** ** Hibernate 3.6.10.Final ** chạy trong ** jboss-eap-4.3 ** – OJVM

Các vấn đề liên quan