2013-02-20 42 views
13

Tôi thực sự thất vọng về điều này:Maven -> Cập nhật dự án ... chính xác là gì?

Tôi đang sử dụng dự án maven, sử dụng jdbc với eclipselink. mvn install hoạt động như dự định. Cho đến khi tôi phải thay đổi PW trong tệp persitence.xml. Khi tôi thực hiện mvn clean và sau đó mvn install dự án bị hỏng và tệp persitence.xml sai (cũ) vẫn đang được sử dụng. Trong nhật thực, tôi phải làm maven -> update project (sử dụng m2e addon) và mvn install hoạt động lại đột ngột.

Bây giờ vấn đề của tôi: Trên triển khai máy chủ Tôi đang sử dụng dòng lệnh kịch bản và tôi thấy không có mvn XYZ tương đương cho các chức năng M2E ...

Có một số tương đương?

kịch bản Explicit:

Tôi đang phát triển trên maschine địa phương của tôi (OSX/win7) trong một dự án maven nhập khẩu trong nhật thực. Tôi có một giao diện JPA Persistence bao gồm kết nối cơ sở dữ liệu được thực hiện thông qua eclipselink. Tôi có thể triển khai tại địa phương (mvn install) nhưng sau khi tôi chạy mvn clean và thay đổi mật khẩu trong persitence.xmlmvn install là không thể nữa. Tôi chỉ nhận được classDefNotFound Persitor trong các bài kiểm tra vì nó khởi tạo tĩnh EntityManager mà không thể kết nối nguyên nhân của persitence.xml mới - hoặc ít nhất là ý kiến ​​của tôi, bởi vì stacktrace không thực sự hữu ích. Tuy nhiên, sau maven -> update project... trong nhật thực trên dự án, mvn install hoạt động trở lại và mật khẩu mới được thực hiện (chạy thử!).

Khi tôi muốn triển khai dự án trên máy từ xa (debian, dòng lệnh) i cant ´mvn install` dự án đã kéo, nguyên nhân sau khi tôi thay đổi mật khẩu trong persitence.xml để triển khai, nó lại là sai persitence.xml hoặc ít nhất một số lưu trữ được sử dụng. Tôi hy vọng điều đó rõ ràng hơn một chút.

GIẢI PHÁP: Đảm bảo persitence.xml được đặt trong src/main/resources/META-INF chứ không phải ở nơi khác. m2e bắt persitence.xml từ những nơi sai (trong trường hợp của tôi, src/main/java/META-INF). Vì vậy, về cơ bản nó chỉ là một cấu trúc dự án sai.

+0

Điều này sẽ hữu ích: http://stackoverflow.com/questions/10564684/how-to-fix-error-updating-maven-project-unsupported-iclasspathentry-kind-4?answertab=oldest#tab-top – PCM

Trả lời

3

Có vẻ như bạn có thể sử dụng mvn eclipse:clean eclipse:eclipse để regenerate the eclipse project files - hy vọng rằng sắp xếp bạn.

+0

tiếc là nó không hoạt động. sau khi một mvn sạch hoặc tươi git kéo tôi không thể cài đặt. – ThommyH

+0

Ý bạn là gì? bạn "không thể cài đặt", chỉnh sửa câu hỏi của bạn với bất kỳ lỗi nào bạn nhận được và tôi sẽ rất vui khi có một cái nhìn. – hd1

+1

Ông rõ ràng là sử dụng [m2e] (http://eclipse.org/m2e/) tích hợp Maven cho nhật thực. Điều đó không hài hòa với [Maven eclipse plugin] (http://maven.apache.org/plugins/maven-eclipse-plugin/eclipse-mojo.html) mà bạn đề cập đến. Tôi sẽ không sử dụng cả hai song song. – FrVaBe

1

dự án cập nhật maven từ nhật thực là khác nhau vì nó sẽ tạo ra một Maven Dependencies đường dẫn lớp chứa

mvn eclipse: eclipse tạo ra một Khảo Thư viện Container.

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