2008-12-08 29 views
18

Trong khi tính năng tham chiếu mô-đun J2EE cho phép bạn tạo các dự án thư viện Java phổ biến, tôi không thể tìm thấy cách gọn gàng để làm điều này cho nội dung web.Cách chia sẻ nội dung web giữa các dự án eclipse

Tôi có các tệp JSP, tệp CSS, JavaScript và thậm chí cả các đoạn mô tả mà tôi muốn sử dụng trên một số dự án web động để các đồ tạo tác này chỉ được chỉnh sửa một nơi, nhưng sẽ được xuất sang từng các tệp WAR WebProject động.

Tôi ngạc nhiên rằng tôi không thể tìm thấy cách để quảng bá khả năng sử dụng lại trong không gian web mà không cần viết kịch bản của riêng tôi và tham gia vào quá trình xuất.

Có cách nào để thực hiện việc này không? Cảm ơn. Matt.

Trả lời

4

Tôi tin rằng viết tập lệnh của riêng bạn (ví dụ: các bước tạo tùy chỉnh sử dụng kiến, dễ cấu hình trong nhật thực) là một trong các giải pháp thiết thực hơn.

Bạn cũng có thể tạo nhiều ứng dụng web và tham khảo các tài nguyên tương ứng của chúng - điều này sẽ dễ dàng với css, hình ảnh và các loại tương tự, không quá nhiều với jsp cần truy cập vào mã của bạn.

Tôi có thể tưởng tượng một số thủ thuật với tùy chọn tomcat crossContext = "true" cho ngữ cảnh (ví dụ: ứng dụng web), cho phép một ứng dụng truy cập các lớp trong một ứng dụng khác, nhưng chưa thử chúng.

Xin lỗi - Tôi tin rằng đó không phải là câu trả lời bạn muốn nghe ...

+0

Tôi cũng vậy, nhưng không hề thoải mái chút nào. –

3

Nếu bạn đang sử dụng Subversion, bạn có thể sử dụng svn:externals để tham khảo các tập tin phổ biến ở cả hai dự án. Sau đó, bạn có thể chỉnh sửa các tệp phổ biến ở một nơi và nếu bạn thực hiện svn up tất cả sẽ được đồng bộ hóa.

+0

Tôi đã sử dụng cách tiếp cận này và nó hoạt động khá tốt. Tuy nhiên nó sẽ là tốt đẹp nếu có một cách để xác định một số loại JSP JAR mà bạn có thể đối xử như một sự phụ thuộc. –

12

Tôi đã vật lộn với cùng một vấn đề trong một thời gian dài, và cuối cùng vấp phải một giải pháp tốt: "Thư mục được liên kết". Đây là một tính năng Eclipse hoạt động tương tự như các liên kết tượng trưng - nó cho phép bạn ánh xạ một thư mục vật lý duy nhất vào nhiều dự án. Điều tuyệt vời về giải pháp này là nó không yêu cầu bất kỳ bước xây dựng đặc biệt nào, do đó Eclipse có thể tự động triển khai các thay đổi đối với máy chủ Tomcat cục bộ của bạn để thử nghiệm.

Cấu hình của tôi như sau: Tôi có một dự án Eclipse có tên "SharedContent". Bên trong thư mục WebContent, là một thư mục con "shareRoot". Tất cả các tệp có thể sử dụng lại - .jsp, .css, v.v. - được đặt ở đâu đó trong SharedContent/WebContent/shareRoot. Đây là một dự án Web động để tất cả các trình soạn thảo thích hợp được kích hoạt, nhưng tôi chưa bao giờ thực sự xây dựng hoặc triển khai nó.

Trong các dự án khác của tôi, tôi thêm một Thư mục được Liên kết trỏ tới shareRoot. Trong Eclipse 3.6, các bước là:

  1. Trong Package Explorer, bấm chuột phải vào thư mục WebContent của dự án cần bao gồm các tệp có thể tái sử dụng.

  2. Chọn Mới -> Thư mục.

  3. Nhấp vào nút "Nâng cao >>>".

  4. Chọn nút radio "Liên kết đến vị trí thay thế (Thư mục được liên kết)".

  5. Trong hộp văn bản ngay dưới đây, hãy nhấp vào Duyệt qua.

  6. Trong cây nguồn, hãy điều hướng đến SharedContent/WebContent/shareRoot. Sau đó nhấp vào nút OK/Open/Finish cho đến khi tất cả các hộp thoại biến mất.

Nội dung được chia sẻ hiện được ánh xạ vào dự án của bạn. Khó chịu, bạn phải bao gồm "shareRoot /" trong URL khi tham chiếu các tệp này, nhưng bạn có thể làm việc này bằng cách sử dụng bộ lọc viết lại URL ưa thích của mình.

Bạn có thể sử dụng một mẹo tương tự trong cây nguồn Java để ánh xạ các tệp Java vào nhiều dự án. Tôi đã bắt đầu làm điều đó, thay vì xây dựng mã được chia sẻ thành một tệp .jar, bởi vì nó tránh sự cần thiết phải xây dựng lại .jar mỗi khi bạn muốn kiểm tra sự thay đổi trong máy chủ Tomcat cục bộ của mình.

-1

haha, tôi cho u một bất ngờ muộn

Tôi là người Trung Quốc, tiếng anh của tôi kém, nhưng tôi có thể giúp bạn.

Olaf Kock đúng, nhưng câu trả lời của anh ấy không hoàn hảo.

Đây là câu trả lời hoàn hảo. u phải tham khảo các url theo, nó có thể hep u.

click here

trong trang url, ví dụ cho hộp nội dung bất động sản không phải là chính xác, u fllow tôi:

nếu cần thiết phải chia sẻ một tập tin:

a.jsp svn://myhome.com/svn/myproject/trunk/a.jsp 

nếu cần chia sẻ thư mục:

xml svn://myhome.com/svn/myproject/trunk/xml 
Các vấn đề liên quan