2012-04-25 10 views
5

からTLD "META-INF/c.tld"を読み込むことができません。STSプラグインを使用してSpringテンプレートからSpring MVCプロジェクトを作成します。私は、アプリケーションを実行するときしかし、エラーがあります:JARファイル

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 

誰もがこの種の問題を経験していますか?

+0

私は実行時にTomcat 6とTomcat 7を使用しようとしましたが、私はまだそのエラーが発生しています。 – xybrek

答えて

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のせいではありませんをアーティファクトは、インターネットからダウンロードされた状態で破損したとき、それはちょうど起こります。 arfifactを削除すると、 Maven2が再ダウンロードされます。最後に、Webからダウンロードされたアーティファクト/ファイルで発生する可能性があります。

Eclipseによる
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> 
1

、あなたのクラスパスを変更し、あなたのWebアプリケーションでのサーブレット-api.jarのを含めECLIPSE、あなたはWTPのない他のプラグインで のEclipse WTP のためにMavenの統合」をインストールしていることを保証してください。 P

我々からjavax.servlet.jsp.jarを削除し、正確に同じエラーを取得し、WEB-INF/libに:

5

は、Webアプリケーションでjavax.servlet.jsp.jarパッケージ化しないで、それはTomcatを混乱させるそれをソートしました

0

今日私には同じデフォルトがあります。これはservlet-api.jarjsp-api.jar によって引き起こさ間違いである、とあなたがコードを開発中で、この2が必要なので、提供してそれらをあなたのpom.xmlに表示される保証することができます。それは私と一緒にうまく動作するように見える

<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>