Java 使用jstl的tomcat7 maven插件行为-使用tomcat:run-goal的帮助
跑步时有不同的行为Java 使用jstl的tomcat7 maven插件行为-使用tomcat:run-goal的帮助,java,maven,tomcat,jstl,Java,Maven,Tomcat,Jstl,跑步时有不同的行为 mvn clean tomcat7:run-war and mvn clean tomcat7:run 我试图在servlet 3容器中运行jstls(因此是tomcat 7插件),由于某种原因,当我使用tomcat7:run命令运行插件时,我得到了以下异常: org.apache.jasper.JasperException: Unable to read TLD "META-INF/c.tld" from JAR file "file:/...../.m2/reposi
mvn clean tomcat7:run-war and mvn clean tomcat7:run
我试图在servlet 3容器中运行jstls
(因此是tomcat 7插件),由于某种原因,当我使用tomcat7:run
命令运行插件时,我得到了以下异常:
org.apache.jasper.JasperException: Unable to read TLD "META-INF/c.tld" from JAR file "file:/...../.m2/repository/jstl/jstl/1.2/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:219)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:182)
org.apache.jasper.compiler.JspDocumentParser.getTaglibInfo(JspDocumentParser.java:1287)
org.apache.jasper.compiler.JspDocumentParser.startPrefixMapping(JspDocumentParser.java:797)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startNamespaceMapping(AbstractSAXParser.java:2164)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:469)
使用runoverwar的主要原因是热部署对tagx或JSTL标记的更改
以下是相关的pom.xml文件:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/webapp</path>
</configuration>
</plugin>
javax.servlet
javax.servlet-api
3.0.1
假如
javax.servlet.jsp
jsp api
2.2
jstl
jstl
1.2
org.apache.tomcat.maven
tomcat7 maven插件
2.2
/网络应用
javax.servlet.jsp
jsp api
2.2
假如
解决方案是否感谢BalusC有两个潜在问题:JSP已经由Tomcat提供。标记所提供的
。JSTL的组ID应该是javax.servlet
。现在发生了什么?啊,谢谢你的帮助。要提供的JSP就是问题所在。现在我可以使用tomcat7:run进行热交换。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/webapp</path>
</configuration>
</plugin>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>