gpt4 book ai didi

maven - 如何将JSTL添加到Maven?

转载 作者:行者123 更新时间:2023-12-03 08:51:39 24 4
gpt4 key购买 nike

我正在使用Mojarra,PrimeFaces和Tomcat 6.x进行JSF 2.0项目。

我需要将c:forEach用于一些诸如p:tab的动态数量之类的primefaces组件,但是我对c:forEach有问题。 JSTL的所有其他标签都很好用。

我有以下错误:

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTagStatus



我使用以下 xmlns:c="http://java.sun.com/jsp/jstl/core",尝试将其替换为 xmlns:c="http://java.sun.com/jstl/core",但第二个都没有显示。

这是lib的确切版本:
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.0.2-FCS</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.0.4-b03</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>2.2.1</version>
</dependency>

<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>

<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
</dependency>

我该如何解决?

如果需要,我可以提供更多具体信息。

编辑:
我添加并尝试了不同的作用域(运行时和编译),但没有任何变化:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

存储库列表:
  <repositories>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>maven-repository.dev.java.net</id>
<name>Java.net Repository for Maven 1</name>
<url>http://download.java.net/maven/1/</url>
<layout>default</layout>
</repository>
<repository>
<id>maven2</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2</url>
<layout>default</layout>
</repository>
<repository>
<id>prime-repo</id>
<name>Prime Technology Maven Repository</name>
<url>http://repository.prime.com.tr</url>
<layout>default</layout>
</repository>
<repository>
<id>JBoss2</id>
<url>https://repository.jboss.org/nexus/content/repositories/public</url>
</repository>
<repository>
<id>JBoss</id>
<url>http://repository.jboss.com/maven2</url>
</repository>
<repository>
<id>EclipseLink Repo</id>
<url>http://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>itextpdf.com</id>
<name>Maven Repository for iText</name>
<url>http://maven.itextpdf.com/</url>
</repository>

<repository>
<id>guiceyfruit.release</id>
<name>GuiceyFruit Release Repository</name>
<url>http://guiceyfruit.googlecode.com/svn/repo/releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>

这是$ TOMCAT_HOME / lib的内容

annotations-api.jar catalina-ha.jar catalina-tribes.jar el-impl-2.2.jar jasper.jar jsf-api.jar
jsp-api.jar servlet-api.jar
tomcat-dbcp.jar
tomcat-i18n-fr.jar catalina-ant.jar
catalina.jar el-api-2.2.jar
jasper-el.jar jasper-jdt.jar
jsf-impl-2.0.4-b03.jar ojdbc6.jar
tomcat-coyote.jar tomcat-i18n-es.jar tomcat-i18n-ja.jar

最佳答案

您必须在发行版中包括jSTL库。这可能是由容器提供的,尽管不建议这样做。当前版本的Maven依赖关系(在撰写本文时)在这里:

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

虽然,始终值得检查 maven central repository以进行更新。

关于maven - 如何将JSTL添加到Maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5148180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com