Tôi đang sử dụng maven2, làm cách nào để thêm phụ thuộc vào JSTL (Thư viện thẻ chuẩn JSP)?Bao gồm phụ thuộc JSTL với Maven
Trả lời
Bạn cần thêm tệp này vào tệp pom.xml của mình.
Trong nút phụ thuộc, bạn cần thêm tham chiếu vào JSTL. Bạn có thể sẽ cần phải thiết lập phạm vi của nó để biên dịch. Vì vậy, nó sẽ giống như thế này
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>"whatever version you need"</version>
<scope>runtime</scope>
</dependency>
này được giả sử bạn có tài liệu tham khảo thích hợp để kho phân phối maven trong pom.xml hoặc settings.xml bạn
Điều này có bao gồm 'standard.jar' không? Tôi đang sử dụng GlassFish, nên chỉ bao gồm công việc phụ thuộc 'jstl'? –
Các phụ thuộc nêu trên là chưa đủ đối với tôi (sử dụng Tomcat 5.x làm thùng chứa servlet, không cung cấp bản thân việc triển khai JSTL). Nó chỉ nhập gói giao diện JSTL theo dự án và sẽ gây ra lỗi thời gian chạy trong Tomcat.
Đây là phần phụ thuộc được sử dụng trong dự án của tôi, hy vọng có thể giúp đỡ người khác. Phần khó nhất là đặt tên cho việc thực thi JSTL của Apache trong kho lưu trữ.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<scope>runtime</scope>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>c</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
<type>tld</type>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>fmt</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
<type>tld</type>
</dependency>
Loại tld là gì? – dcompiled
@dcompiled Tôi không tìm thấy tài liệu chính thức về điều này từ Maven, nhưng đối với dự đoán của tôi, tld là viết tắt của "Tag Library Descriptor", bản thân nó là tệp XML. –
cho hồ sơ, tôi đang sử dụng tomcat 7 và câu trả lời được chấp nhận có vẻ là đủ cho tôi ... – eis
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
id nhóm jstl sẽ không được dùng nữa. Thay vào đó, hãy sử dụng
tôi đã cùng một vấn đề. Tôi đã giải quyết nó bằng cách thêm các thư viện Apache Tomcat vào đường dẫn xây dựng Java.
Xem ảnh chụp màn hình của tôi, tôi đang sử dụng Maven:
Trước khi thêm thư viện Tomcat:
Sau khi thêm thư viện Tomcat:
Từ: apache taglib
<!-- TAGLIB: -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.1</version>
</dependency>
<!-- From taglib doc: To use this distribution with your own web applications, add the following JAR
files to the '/WEB-INF/lib' directory of your application:
- taglibs-standard-spec-1.2.1.jar
- taglibs-standard-impl-1.2.1.jar
- taglibs-standard-jstlel-1.2.1.jar
- xalan-2.7.1.jar
- serializer-2.7.1.jar
-->
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
<version>2.7.1</version>
</dependency>
<!-- TAGLIB: -->
<!-- standard.jar -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
Có sự tinh tế giữa phiên bản 1.1.2, phiên bản 1.2, Tomcat và GlassFish. Xem tại đây để biết chi tiết: http://tshikatshikaaa.blogspot.nl/2012/07/how-to-add-jslt-taglibs-in-maven-project.html – JVerstry