5

STSプラグインを使用してSpringテンプレートからSpringMVCプロジェクトを作成します。ただし、アプリケーションを実行するとエラーが発生します。

org.apache.jasper.JasperException: /WEB-INF/views/home.jsp(1,63) Unable to read TLD "META-INF/c.tld" from JAR file "file:/H:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/imgateway/WEB-INF/lib/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

誰かがこの種の問題を経験しましたか?

4

5 に答える 5

12

以前、StackOverflow で何度か質問されました: Unable to read TLD "META-INF/c.tld"

私はこれに対する潜在的な答えをブログに書いた:http://blog.flurdy.com/2010/07/jetty-tomcat-jsp.html

プロジェクトがmavenを使用しているかどうかに応じて、jsp-apiが含まれていないことを確認する必要がありますが、代わりにTomcatによって提供されます。

<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>servlet-api</artifactId>
   <version>2.5</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>jsp-api</artifactId>
   <version>2.1</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>jstl</artifactId>
   <version>1.2</version>
</dependency>
<dependency>
   <groupId>org.apache.tomcat</groupId>
   <artifactId>jasper-el</artifactId>
   <version>6.0.26</version>
</dependency>
于 2012-04-25T19:10:19.473 に答える
6

javax.servlet.jsp.jar を webapp にパッケージ化しないでください。Tomcat を混乱させます:P

WEB-INF/lib から javax.servlet.jsp.jar を削除すると、まったく同じエラーが発生しました。

于 2012-12-12T08:42:08.810 に答える
5

私は同じ状況に直面していましたが、JSTLで問題が発生したために、明らかにエラーがスローされていることに気付きました。STSテンプレートはMaven2に依存しているため、ローカルのMaven2リポジトリからJSTLアーティファクトを手動で削除する必要があります。

Windows 7の場合: フォルダーを削除しますc:\Users\<Username>\.m2\repository\javax\servlet\jstl\

Linuxの場合:フォルダを削除します/home/<Username>/.m2/repository/javax/servlet/jstl/

注:これはSTSの障害ではなく、インターネットからのダウンロード中にアーティファクトが破損した場合にのみ発生します。アーフィファクトを削除すると、Maven2はアーフィファクトを再ダウンロードします。最後に、Webからダウンロードしたアーティファクト/ファイルで発生する可能性があります。

于 2012-05-24T17:24:17.883 に答える
1

Eclipseでは、「Maven Integration for Eclipse WTP」がインストールされていることを確認してください。WTPを使用しない他のプラグインでは、Eclipseがクラスパスを変更し、Webアプリケーションにservlet-api.jarを含めます。

于 2012-08-31T13:31:56.410 に答える
0

今日も同じデフォルトが付属しています。これは と が原因の間違いでservlet-api.jarあり jsp-api.jar、コードを開発する際にこの 2 つが必要になる場合があります。それは私と一緒にうまくいくようです

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
    <scope>provided</scope>
</dependency>
于 2015-11-07T00:35:02.380 に答える