Gần đây tôi đã chuyển sang J2EE từ .NET, và tôi đang nhầm lẫn về nơi đặt các tệp JAR. Tôi biết rằng CLASSPATH, WEB-INF và Java Web Path của Eclipse là tất cả những nơi mà các JAR có thể được lưu trữ, nhưng tôi nhầm lẫn về thư mục nào cần sử dụng, khi nào và tại sao.CLASSPATH, Đường dẫn Buld Java (nhật thực) và WEB-INF LIB: những gì cần sử dụng, khi nào và tại sao?
Trước hết, chúng tôi có CLASSPATH. Tôi thường thiết lập điều này bằng cách đi vào "Biến môi trường" bên trong "Máy tính của tôi". Tôi biết rằng đây là nơi mặc định, nơi trình biên dịch Java tìm kiếm các tệp JAR. Khi tôi thêm một thư mục hoặc một JAR vào biến môi trường CLASSPATH của tôi, tại sao nó bị bỏ qua bởi Eclipse, trình biên dịch Java và máy chủ web?
Ngoài ra, tôi biết rằng WEB-INF \ LIB là nơi bạn có thể đặt các tệp JAR mà ứng dụng web của bạn sẽ sử dụng. Tuy nhiên, tôi đã đặt các JAR trong WEB-INF \ LIB chỉ để chúng bị bỏ qua. Trong những tình huống nào tôi nên đưa các JAR vào thư mục WEB-INF \ LIB? Làm thế nào để tôi nhận được Eclipse hoặc máy chủ web để thông báo cho họ?
Cho đến nay, điều duy nhất phù hợp với tôi là thực sự thay đổi Đường dẫn xây dựng Java cho một dự án Eclipse. Tôi sẽ chọn các JAR tôi cần và nhấn "Thêm các JAR bên ngoài". Hầu hết thời gian khi tôi làm điều này, Eclipse sẽ nhận ra các JAR của tôi và đọc các lớp trong đó. Tuy nhiên, tôi đã chạy vào một loạt các lỗi ngẫu nhiên lạ trong khi làm điều này (chủ yếu là phải làm với phụ thuộc, tôi nghĩ). Vì lý do nào đó, tôi chỉ có cảm giác rằng đây không phải là cách đúng đắn để làm mọi thứ, và rằng tôi đang thiếu một số thông tin quan trọng. Khi nào tôi nên thêm thủ công các JAR bên ngoài bên trong Eclipse, và khi nào tôi nên làm những việc khác nhau? Làm thế nào đến Java Build Path của Eclipse dường như không biết về các thư mục trong biến môi trường CLASSPATH của tôi? Thực sự, tôi chỉ muốn hiểu rõ hơn về CLASSPATH, Đường dẫn xây dựng Java của Eclipse và thư mục WEB-INF/LIB - mục đích mà chúng phục vụ, mối quan hệ giữa chúng và nơi tôi nên đặt JAR của tôi trong các tình huống khác nhau. Tôi sẽ đánh giá cao bất kỳ lời khuyên nào bạn có thể cho tôi, hoặc bất kỳ bài viết nào mà bạn có thể giới thiệu.
Cảm ơn bạn.
Ồ, và một câu hỏi khác - nếu ứng dụng web của tôi yêu cầu một JAR nhất định, tôi có cần thêm JAR đó vào Run Configuration cũng như Đường dẫn xây dựng của dự án? Các cấu hình chạy và xây dựng đường dẫn luôn luôn hoàn toàn tách biệt mọi thứ, hoặc không bao giờ ảnh hưởng đến khác? – sangfroid
(và có, giả định rằng tôi đang chạy dự án web của tôi từ Eclipse) – sangfroid
Làm cách nào chúng tôi có thể thực hiện việc này cho các trang EAR/lib? http://stackoverflow.com/questions/29753457/jasper-reports-package-net-sf-jasperreports-engine-does-not-exist-exception-in Kính trọng, –