2010-02-01 37 views
10

Tôi đang cố gắng thiết lập thử nghiệm tích hợp cho dự án Maven tạo tệp chiến tranh. (Như đã thấy ở đây http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin/.) Tuy nhiên, tôi tập tin chiến tranh đòi hỏi một loạt các tập tin .properties trên classpath, mà tôi không muốn bó trong chiến tranh.Thêm đường dẫn lớp vào cầu nối đang chạy trong thử nghiệm tích hợp maven

Có cách nào (tốt nhất là thông qua cấu hình plugin) để thêm thư mục vào đường dẫn lớp được sử dụng bởi cầu tàu không?

Tôi đã tìm kiếm trang này và tìm thấy http://markmail.org/message/awtqrgxxttra3uxx nhưng điều này, theo như tôi có thể nói, thực sự không hoạt động chút nào. Không tìm thấy tệp .properties.

Trả lời

21

này ta có thể sử dụng các yếu tố webAppConfig cấu hình (ví dụ dưới đây lấy từ this thread):

<webAppConfig> 
    <contextPath>/nportal</contextPath> 
    <!-- All I want to do here is add in the /etc/jetty/classes for runtime files. For some reason I have to also add back in the /target/classes directory --> 
    <extraClasspath>${basedir}/target/classes/;${basedir}/etc/jetty/classes/</extraClasspath> 
</webAppConfig> 
+0

Một cách khác có thể có lề hơn là sử dụng ' jetty-context.xml' trong đó 'jetty-context.xml' cấu hình'

16

Nếu bạn thấy rằng giải pháp trên không làm việc cho bạn, hãy xem xét bao gồm classpath thử nghiệm vào Jetty của bạn cấu hình.

<configuration> 
    <useTestClasspath>true</useTestClasspath> 
    ... 
</configuration> 

Điều này sau đó sẽ cho phép bạn đặt tất cả các tài nguyên/lớp trên đường dẫn thử nghiệm và hiển thị chúng với máy chủ Jetty mà không cần chúng xâm nhập vào mã sản xuất.

+13

nếu phiên bản 7+ người dùng tìm kiếm câu trả lời , tên tùy chọn mới là ''. Thêm tại http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin#Configuring_additional_parameters – uiron

5

Bạn có thể đặt các file cấu hình bổ sung của bạn dưới /src/test/resources và thiết lập một tài sản <useTestScope>true</useTestScope> trong cấu hình plugin như quy định here:

useTestScope

Nếu đúng, các lớp từ testClassesDirectory và phụ thuộc phạm vi "thử nghiệm "được đặt đầu tiên trên classpath. Theo mặc định, điều này là sai.

+0

Ồ, đã có bình luận với cùng một liên kết ... Tôi sẽ rời khỏi – Innokenty

+0

Không làm việc cho tôi. Cầu cảng bắt đầu xuất ra: [INFO] --- jetty-maven-plugin: 9.3.7.v20160115: bắt đầu (start-jetty) @ someapp - - [INFO] Định cấu hình cầu tàu cho dự án: Verizon CHC Timer Server [INFO] webAppSourceDirectory chưa được đặt. Đang thử src/main/webapp [INFO] Nạp lại Cơ chế: tự động [INFO] Lớp học =/Người dùng/mvmn/wrkdir/someapp/mục tiêu/lớp học 2016-03-01 15: 27: 55.704: THÔNG TIN :: chính: Ghi nhật ký được khởi tạo @ 4023ms [INFO] Đường dẫn ngữ cảnh =/ [INFO] Thư mục tmp =/Người dùng/mvmn/wrkdir/someapp/target/tmp [INFO] Mặc định web = org/eclipse/jetty/webapp/webdefault.xml [ INFO] Ghi đè trên web = none ... – mvmn

+1

Không hoạt động cho tôi. Chỉnh sửa: hoạt động với phiên bản> = 7.0.0 – adrianboimvaser

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