2011-06-28 27 views
6

Tôi có một dự án mà tôi cần phân tích cú pháp một số tệp HTML như một phần của ứng dụng phát. Đối với nhiệm vụ đó, tôi nghĩ tôi sẽ áp dụng nekohtml. Tôi chỉ định nekohtml là dep trong dependencies.yml và isse 'play dependencies'. Điều này kéo trong nekohtml và xerces vào thư mục lib. Tất cả tốt và tốt. Tuy nhiên, nekohtml cần phải được trước khi xerces trên classpath để hoạt động đúng. Và như xa như tôi có thể thấy tại https://github.com/playframework/play/blob/master/framework/pym/play/application.py#L124 thứ tự của lọ trên đường dẫn lớp là tùy ý theo http://docs.python.org/library/os.html#os.listdir Có thể đặt thủ công thứ tự các lọ trên classpath bằng cách nào đó không?Đặt thứ tự classpath trong ứng dụng playframework

Edit: dependencies.yml của tôi trông như thế này:

require: 
    - play 
    - org.apache.poi -> poi 3.7 
    - net.sourceforge.nekohtml -> nekohtml 1.9.14: 
     transitive: false 
    - xerces -> xercesImpl 2.9.1 

Khi tôi thực hiện lệnh 'chơi classpath' nó sẽ liệt kê như sau (trích):

[ '/ home/Leif/dev/java/fun/tk/conf ', ' /home/leif/dev/play/play-1.2/framework/play-1.2.jar ', '/home/leif/dev/java/fun/tk /lib/jaxen-1.1.jar ', ' /home/leif/dev/java/fun/tk/lib/log4j-1.2.15.jar ', '/home/leif/dev/java/fun/tk /lib/junit-4.8.1 .jar ', ' /home/leif/dev/java/fun/tk/lib/jta-1.1.jar ', ' /home/leif/dev/java/fun/tk/lib/dom4j-1.6.1 .jar ', ' /home/leif/dev/java/fun/tk/lib/xercesImpl-2.9.1.jar ', '/home/leif/dev/java/fun/tk/lib/commons-bộ sưu tập -3.2.1.jar ', ' /home/leif/dev/java/fun/tk/lib/xml-resolver-1.2.jar ', '/home/leif/dev/java/fun/tk/lib /xml-apis-1.3.04.jar ', ' /home/leif/dev/java/fun/tk/lib/antlr-2.7.6.jar ', '/home/leif/dev/java/fun /tk/lib/poi-3.7.jar ', ' /home/leif/dev/java/fun/tk/lib/commons-logging-1.1.1.jar ', '/home/leif/dev/java /fun/tk/lib/nekohtml-1.9.14.jar ', ' /home/leif/dev/play/play-1.2/framework/lib/jj-textile.jar ', ...

Vì vậy, xerces rõ ràng là phía trước nekohtml mặc dù dep phụ được loại trừ và thêm thủ công sau nekohtml.

+0

Tôi gặp sự cố tương tự. Bất cứ ai có thể chỉ ra làm thế nào để tự xác định thứ tự xây dựng cho hai jar trong/lib? – Wint

Trả lời

0

Tại sao bạn không loại trừ xerces khỏi phụ thuộc nekohtml và sau đó thêm theo cách thủ công theo thứ tự bạn cần dưới dạng phụ thuộc riêng biệt?

+0

Câu hỏi đã chỉnh sửa để làm rõ. –

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