# Simples JSF-Projekt in Eclipse - Problem



## Guest (28. Feb 2008)

Hallo,

ich habe mit Eclipse 3.3 sowohl als auch 3.4 mit dem aktuellen WTP (und auch anderen Versionen) versucht, ein dynamisches Webprojekt, welches JSF verwendet, zu erstellen.

Mein Ziel war der Nachbau eines einfachen Tutorials. Ich habe in den Projektkonfigurationen JSF 1.2 eingestellt, und als Webcontainer den Tomcat 6.0 verwendet.

Leider meckert Eclipse, und zwar mit dieser Fehlermeldung:

Cannot find the tag library descriptor for http://java.sun.com/jsf/core
Cannot find the tag library descriptor for http://java.sun.com/jsf/core

Es handelt sich um eine einfache index.jsp Seite mit folgendem Inhalt:


```
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>


<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Test</title>
    </head>
    <body>
        <f:view>
          <h:outputText value="Hallo Welt"/>
        </f:view>
    </body>
</html>
```

Und hier meine Web.xml:


```
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>WebAppWtihTomcat</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
</web-app>
```

Sowie meine faces.xml


```
<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
    version="1.2">

</faces-config>
```

Habt ihr eine Idee, wo hier der Schuh drückt?

Wäre euch dankbar für jede Hilfe! Überlege deswegen schon, auf Netbeans zu wechseln.

Gruß
Christian


----------



## jensa (29. Feb 2008)

hallo,
hast du auch 
die standard-libaries in den classpath eingebunden.
ansonsten sind die adressen soweit okay
ich benutze immer 

<%@ page language="java"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

gruß jensa


----------



## Guest (29. Feb 2008)

Hallo,

ich habe gerade mal die Jakarta Implementation der JSTL heruntergeladen und eingebunden.

Dies sind die folgenden JAR´s,die ich soeben meinem Projekt hinzugefügt hab:

jstl.jat
standard.jar

Leider geht es nach wie vor nicht, auch nicht wenn ich deine Notation verwende.

Ich verwende zudem einen GlassFish V2, hab es aber wie gesagt auch schon mit nem Tomcat 6 probiert, alles erfolglos.

Fehlen mir evtl noch andere JAR´s? Hier ist mal eine Liste der JAR´s, die ich eingebunden hab:

appserv-rt.jar
javaee.jar
mail.jar
webservices-rt.jar
webservices-tools.jar
appserv-jstl.jar
appserv-tags.jar
activation.jar

und natürlich die JRE System Library.


----------



## HeRaider (3. Mrz 2008)

Soweit ich mich erinnere braucht Tomcat um zu laufen doch das SDK und nicht die JRE oder irre ich mich da?


----------



## HLX (3. Mrz 2008)

Nicht zwingend. Aber die JRE System Library in Eclipse darf auch auf ein JDK zeigen.


----------



## maki (3. Mrz 2008)

Wenn du schon JSF 1.2 einsetzt, dann nutze doch bitte die modernen Wege um Taglibs einzubinden, nicht die alte Art.

Nachtrag: Wenn du JSPs verwendest, brauchst du zwingend ein JDK, kein JRE.


----------



## HLX (3. Mrz 2008)

maki hat gesagt.:
			
		

> Nachtrag: Wenn du JSPs verwendest, brauchst du zwingend ein JDK, kein JRE.



Hab´s in der Entwicklungsumgebung noch nicht ausprobiert, aber außerhalb klappt´s auch ohne JDK.

Siehe: tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt


----------



## maki (3. Mrz 2008)

> Hab´s in der Entwicklungsumgebung noch nicht ausprobiert, aber außerhalb klappt´s auch ohne JDK.


Stimmt, ist neu ab Tomcat 6.0.


----------



## Guest (3. Mrz 2008)

Hallo, vielen Dank für eure Antworten!

Ich habs nun zum Laufen bekommen, ich hatte die Libraries jsf-api.jar und jsf-impl.jar eingebunden, dann gings.
Ich find es ehrlich gesagt etwas merkwürdig, denn im Eclipse Assistent wählt man ja eine JSF-Implementierung, wozu das ganze wenn man die entsprechenden Libs hinterher wieder selber einbinden muss? Zusätzlich fehlten auch noch einige Jakarta common-libs. Netbeans erledigt das einbinden automatisch.

@maki
Ich bin noch relativ neu was JSF angeht, wie ist denn der moderne Weg die TagLibs einzubinden?

Danke und Gruß,
Christian


----------



## websteven (26. Mrz 2008)

Ob es einen modernen oder nicht modernen Weg gibt, dies einzubinden, darüber kann man streiten.

Der für mich einfachste Weg ist, dass ich für JSF in einem Entwicklungsordner alle jars liegen habe, die ich brauche. Diese ziehe ich dann in den WEB-INF/lib Ordner in Eclipse. Das wars.

Ich arbeite bei JSF aber gerne mit MyEclipse. Da kann man dann mit rechter Maustaste leicht die JSF Capabilities hinzufügen.

Lg, Steve


----------

