Tôi đang gặp vấn đề lạ khi cố gắng chạy trình xây dựng maven sử dụng plugin jaxb2 để thực hiện JAXB codegen (xem stacktrace bên dưới). Điều tốt nhất mà tôi có thể hình dung là có một số thực hiện của DTMManager đó là lớp được nạp từ một JAR khác với một trong xalan-2.7.1; tuy nhiên, tôi đã xác minh rằng classpath được sử dụng để chạy jaxb: generate goal chỉ có một xalan-2.7.1.jar có chứa một DTMManager hoặc một DTMManagerDefault - vì vậy tôi không có đầu mối nào khác có thể cản trở .ClassCastException trong truyền DTMManagerDefault vào DTMManager trong maven jaxb codegen
Một điểm dữ liệu cuối cùng: bản dựng của chúng tôi chỉ định tiểu sử 'ảnh chụp nhanh', thực sự chỉ phục vụ để JAR up nguồn (sử dụng maven-source-plugin) và xuất bản chúng dưới dạng tạo phẩm. Kịch bản lỗi mà tôi đã mô tả ở trên chỉ xảy ra khi cấu hình này được chỉ định ngoài mặc định.
Tôi đang sử dụng Maven 2.2.1 chạy trên JDK 1.6.0_21 64 bit của Sun trên Linux x64 (Fedora 13) - xem bên dưới ngăn xếp cho thông tin 'mvn -v'.
Bất kỳ ý tưởng nào về vấn đề có thể là gì và/hoặc cách gỡ lỗi? Điều này đã được gây cho tôi đau buồn trong vài ngày qua và nó bây giờ chặn tiến bộ :(
java.lang.ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault cannot be cast to org.apache.xml.dtm.DTMManager
at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:137)
at org.apache.xpath.XPathContext.<init>(XPathContext.java:102)
at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:207)
at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:281)
at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:224)
at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:289)
at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:134)
at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:96)
at com.sun.tools.xjc.reader.internalizer.DOMForest.transform(DOMForest.java:448)
at com.sun.tools.xjc.ModelLoader.buildDOMForest(ModelLoader.java:342)
at com.sun.tools.xjc.ModelLoader.loadXMLSchema(ModelLoader.java:374)
at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:167)
at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:113)
at org.jvnet.jaxb2.maven2.XJC2Mojo.runXJC(XJC2Mojo.java:1119)
at org.jvnet.jaxb2.maven2.XJC2Mojo.execute(XJC2Mojo.java:720)
...
mvn -v:
# mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-06 14:16:01-0500)
Java version: 1.6.0_21
Java home: /usr/java/jdk1.6.0_21/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.33.3-85.fc13.x86_64" arch: "amd64" Family: "unix"
Xin chào, bạn có thể giải thích cách tôi có thể thực hiện việc này không? Tôi có cùng một vấn đề với Debian + Jboss và không thể sửa chữa nó trên Linux, nhưng hoạt động tốt trên Windows/Mac. Cảm ơn. –
Chạy {mvn dependency: tree> dependencies.txt} sau đó thêm loại trừ vào các phụ thuộc của bạn cho các lọ cần loại trừ. – raisercostin