2011-08-18 27 views
7

Tôi vừa chuyển sang Eclipse Indigo từ Helios, và tôi đã gặp phải một số phiền toái khi cố gắng chạy một dự án web hỗ trợ Maven trên Tomcat 6 với WTP.Eclipse 3.7/Indigo m2e vấn đề phụ thuộc tích hợp WTP

Tôi đang gặp sự cố cổ điển của Tomcat không thấy phụ thuộc Maven. Trong Helios, cách giải quyết là thêm phụ thuộc Maven vào Deployment Assembly qua: Thuộc tính dự án -> Deployment Assembly -> Add 'Java Build Path Entries' -> Maven Dependencies

Thật không may, tùy chọn 'Java Build Path Các mục nhập 'không được liệt kê, chỉ có' Thư mục 'và' Dự án '. Tôi không chắc chắn nếu điều này là cố ý, hoặc nếu có gì đó sai với thiết lập của tôi.

Trong một nỗ lực để loại bỏ các yếu tố bên ngoài, tôi đang sử dụng các thiết lập sau:

  • cài đặt tươi của Eclipse Indigo (Mac)
  • workspace tươi
  • M2E WTP tích hợp cài đặt qua Eclipse Marketplace
  • Tạo dự án Maven mới
  • Thêm một số phụ thuộc maven, cộng với một số mã để sử dụng chúng
  • C dự án onvert mẫu sắc cạnh
  • Add 'Dynamic Web Mô-đun' khía cạnh
  • Maven> Cập nhật Cấu hình dự án
  • Thêm vào một Tomcat 6 server
  • Chạy trên máy chủ

Tại thời điểm này, tôi thấy nhận ClassNotFoundException liên quan đến các phụ thuộc bị thiếu của tôi. Nếu tôi chạy 'mvn war: war' và bao gồm thư mục 'WEB-INF/lib' được lắp ráp trong Assembly Deployment của dự án, thì tất nhiên các phụ thuộc được chọn đúng - tốt để sửa nhanh, nhưng không lý tưởng.

Hầu hết các vấn đề tôi đã đọc về liên quan đến các sự cố tương tự đều rơi vào mô-đun tích hợp WTP bị thiếu, nhưng điều đó dường như không phải là vấn đề đối với tôi.

Tôi có làm gì sai không?

+0

Loại bao bì của lọ hoặc chiến dịch "maven" mới? – Raghuram

+0

Bao bì là JAR - Tôi đã thay đổi thành WAR và máy chủ hiện đang triển khai chính xác! Đăng câu trả lời này để tôi có thể đánh dấu câu trả lời là chính xác - Cảm ơn. – sebrichards

+0

Đã đăng nhận xét làm câu trả lời. – Raghuram

Trả lời

3

Có vẻ như loại bao bì của new maven projectjar. Nếu có, bạn có thể đổi thành war và thử.

1

Đây là một giải pháp khác: cố định.tập tin classpath

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> 
      <attributes> 
-     <attribute name="org.eclipse.jst.component.nondependency" value=""/> 
+     <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
      </attributes> 
    </classpathentry> 
1

Nhấp chuột phải vào dự án

  1. chọn triển khai hội> Nhấp vào Thêm

  2. Chọn Java Build Path Entries từ cửa sổ popup, nhấn Next

  3. Sử dụng tổ hợp phím Ctrl và chuột để chọn tất cả hiển thị lib

Sau đó bạn sẽ thấy các thay đổi trong tệp .classpath.

Xuất bản lại dự án của bạn trong tab máy chủ.

+1

Các cài đặt này bị mất mỗi khi bạn chạy Cập nhật Maven. Plugin m2e ghi đè các cài đặt này, vì vậy chúng khá vô dụng vì đó là khi xử lý các ứng dụng web hỗ trợ Maven ... –

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