web-dev-qa-db-ja.com

MavenにJSTL依存関係を含める

Maven2を使用していますが、JSTL(JSP標準タグライブラリ)に依存関係を追加するにはどうすればよいですか?

32
flybywire

Pom.xmlファイルに追加する必要があります。

依存関係ノードで、JSTLへの参照を追加する必要があります。おそらくコンパイルするためにスコープを設定する必要があります。だから、このようになります

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>"whatever version you need"</version>
  <scope>runtime</scope>
</dependency>

これは、pom.xmlまたはsettings.xmlにMaven配布リポジトリへの適切な参照があることを前提としています

31
Shayan

上記の依存関係では十分ではありません(Tomcat 5.xをサーブレットコンテナとして使用し、JSTL実装自体を提供していません)。対応するJSTLインターフェイスパッケージをプロジェクトにインポートするだけで、Tomcatでランタイムエラーが発生します。

これが私のプロジェクトで使用されている依存関係の部分です。うまくいけば、他の人を助けることができます。最も難しい部分は、リポジトリ内のApacheのJSTL実装の命名です。

  <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>
33
Jerry Tian
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

http://mvnrepository.com/artifact/jstl/jstl/1.2

3
Mamut

同じ問題がありました。 Apache TomcatライブラリをJavaビルドパスに追加して解決しました。

私のスクリーンショットを見て、私はMavenを使用しています:

Tomcatライブラリを追加する前に:

desc

Tomcatライブラリを追加した後:

desc

1
vanduc1102

From: 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: -->
1
user648026
<!-- 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>
0
Koray Tugay