2012-06-18 40 views
6

Tôi gặp sự cố khi cung cấp một số thư viện của bên thứ ba (các tệp JAR) mà tôi đang sử dụng khi triển khai ứng dụng web động của mình với Tomcat 6 và Eclipse.Triển khai ứng dụng web Eclipse với Tomcat: Cung cấp phụ thuộc nhiều dự án?

Xin lưu ý rằng tôi phải biết cách thực hiện việc này trong quá trình thiết lập, nơi dự án ứng dụng web trực tiếp- phụ thuộc vào các JAR đó.

Tuy nhiên, trong thiết lập của tôi, tôi có hai dự án Eclipse:

  • lõi là một thư viện lớp và phụ thuộc vào, cho phép nói, a.jar.
  • web là ứng dụng web và phụ thuộc vào lõi.

Trong cài đặt dự án của web, trong loại Triển khai hội, tôi đã thêm lõi, vì vậy Eclipse (hoặc Tomcat - Tôi không hoàn toàn chắc chắn ai là diễn viên chịu trách nhiệm ở đây là) là đặt core.jar vào thư mục libs của ứng dụng web của tôi.

Vấn đề là: Khi tôi dùng thử ứng dụng web, NoClassDefFoundError bị ném khi lõi truy cập các lớp học từ a.jar. Tôi phải làm gì về điều này? Tôi không nghĩ rằng việc đặt a.jar vào Trang triển khai trang cài đặt của ứng dụng web của tôi là giải pháp phù hợp, vì nó không liên quan đến dự án web, dự án lõi phụ thuộc vào điều gì.

Về cơ bản, tôi đang tìm cách cấu hình Eclipse (Tomcat?) Để 'nhúng' phụ thuộc của lõi vào core.jar. Vấn đề ở đây là, core.jar được tạo tự động, khi tôi triển khai dự án web của mình.

Trợ giúp được đánh giá cao. Cảm ơn bạn trước!

Trả lời

8

Vâng, tôi đã tự tìm thấy câu trả lời.

Đối với những người đọc bài viết này trong tương lai tôi sẽ giải thích từng bước, bằng cách sử dụng ngữ nghĩa tôi giới thiệu trong my original message:

Trước tiên, mở trang thuộc tính của dự án lõi của bạn và điều hướng đến tab 'Libraries' của 'Java Build Path' cài đặt:

enter image description here

Hãy chắc chắn để thêm thư viện lớp học của bạn a.jar, dự án của bạn lõi phụ thuộc vào, qua 'Ad d JAR ... '. Sau đó, chuyển đến tab 'Đặt hàng và xuất' và kích hoạt chỉ cần thêm a.jar để xuất.

enter image description here

Sau đó đi đến các thiết lập 'Triển khai hội' và cũng thêm a.jar đây bằng cách nhấp đầu tiên trên 'Thêm ...', sau đó vào 'Java Build Entries Path' và cuối cùng chọn a.jar. Hãy chắc chắn để nhập '../' như con đường triển khai cho a.jar:

enter image description here

Bây giờ bạn đang thực hiện với dự án lõi của bạn. Bây giờ mở trang 'dự án' của các thiết lập 'Java Build Path' cho dự án web của bạn và thêm dự án lõi của bạn bằng cách nhấp vào 'Thêm ...':

enter image description here

Cuối cùng, điều hướng đến trang cài đặt 'Triển khai hội', nhấn 'Add ...', sau đó đi 'dự án' và chọn dự án lõi của bạn trên màn hình tiếp theo:

enter image description here

Bạn đã hoàn tất. Không cần phải thêm phụ thuộc lõi của bạn vào dự án web của bạn.

0

Theo như tôi biết nhật thực không làm điều đó cho bạn. Phụ thuộc dự án là dành cho thời gian biên dịch. Thời gian chạy phụ thuộc mà span trên các dự án nên được xử lý bởi bạn. Một mẹo bạn có thể sử dụng để tạo thư viện người dùng. Chuyển đến tùy chọn -> Java -> Đường dẫn xây dựng -> Thư viện người dùng. Tạo một thư viện người dùng mới. Thêm tất cả các lọ mà dự án 'cốt lõi' của bạn phụ thuộc vào. Thêm nó như là một phụ thuộc cho cả hai 'lõi' và 'web' dự án. Để làm điều đó ,, nhấp chuột phải vào dự án -> Build Path -> Configure xây dựng đường dẫn -> Libraries tab -> Add Library ...

Hope this helps

0

tôi đề nghị sử dụng Maven đó sẽ tự động biên dịch jar các tệp cho bạn và Eclipse cũng hoạt động với Maven cũng rất tốt.

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