Hallo,
ich versuche mich grad erstmals an JavaEE und würde gerne JSF verwenden. Dazu verwende ich dieses online lesbare Buch: JSFAtWork, JSF 2.0 und Apache MyFaces
Ich weiß zwar nicht genau, was Maven alles tut, aber es funktioniert alles soweit, wenn ich nur xhtml Seiten produziere.
Nun wollte ich die erste Bean-Klasse erstellen und erhalte den Fehler, dass der Import zu javax.faces nicht "entwunden" werden kann. Da ich mit alle den Begrifflichkeiten und Tools etwas überfordert bin grad und die Antworten, die man bei Google findet, immer davon ausgehen, dass man die nötigen jars schon irgendwo hat (wo ich sie nicht habe), weiß ich grad nicht weiter und bräuchte einen Anstoß^^
Habe sogar ein Eclipse Package extra für JavaEE und die JBoss Tools für Rich Faces heruntergeladen, das half auch nichts. :bahnhof:
Hier die Klasse:
Dies ist pom.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>at.irian.jsfatwork</groupId>
<artifactId>helloworld</artifactId>
<packaging>war</packaging>
<version>1.0.5</version>
<name>JavaServer Faces 2.0 - Hello World</name>
<repositories>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
<properties>
<myfaces.version>2.1.0</myfaces.version>
<mojarra.version>2.0.1</mojarra.version>
</properties>
<profiles>
<profile>
<id>mojarra</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${mojarra.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>${mojarra.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>myfaces</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>${myfaces.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<version>${myfaces.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<build>
<finalName>helloworld</finalName>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.2.2.v20101205</version>
<configuration>
<webAppConfig>
<contextPath>/${project.artifactId}</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5</version>
<configuration>
<wtpversion>1.5</wtpversion>
<downloadSources>true</downloadSources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
[/XML]
und web.xml:
[XML]<web-app 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-app_2_5.xsd"
version="2.5">
<description>JSF 2.0 - Hello World</description>
<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>*.xhtml</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>hello.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
</web-app>[/XML]
ich versuche mich grad erstmals an JavaEE und würde gerne JSF verwenden. Dazu verwende ich dieses online lesbare Buch: JSFAtWork, JSF 2.0 und Apache MyFaces
Ich weiß zwar nicht genau, was Maven alles tut, aber es funktioniert alles soweit, wenn ich nur xhtml Seiten produziere.
Nun wollte ich die erste Bean-Klasse erstellen und erhalte den Fehler, dass der Import zu javax.faces nicht "entwunden" werden kann. Da ich mit alle den Begrifflichkeiten und Tools etwas überfordert bin grad und die Antworten, die man bei Google findet, immer davon ausgehen, dass man die nötigen jars schon irgendwo hat (wo ich sie nicht habe), weiß ich grad nicht weiter und bräuchte einen Anstoß^^
Habe sogar ein Eclipse Package extra für JavaEE und die JBoss Tools für Rich Faces heruntergeladen, das half auch nichts. :bahnhof:
Hier die Klasse:
Java:
package test;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class Customer {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Dies ist pom.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>at.irian.jsfatwork</groupId>
<artifactId>helloworld</artifactId>
<packaging>war</packaging>
<version>1.0.5</version>
<name>JavaServer Faces 2.0 - Hello World</name>
<repositories>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
<properties>
<myfaces.version>2.1.0</myfaces.version>
<mojarra.version>2.0.1</mojarra.version>
</properties>
<profiles>
<profile>
<id>mojarra</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${mojarra.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>${mojarra.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>myfaces</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>${myfaces.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<version>${myfaces.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<build>
<finalName>helloworld</finalName>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.2.2.v20101205</version>
<configuration>
<webAppConfig>
<contextPath>/${project.artifactId}</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5</version>
<configuration>
<wtpversion>1.5</wtpversion>
<downloadSources>true</downloadSources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
[/XML]
und web.xml:
[XML]<web-app 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-app_2_5.xsd"
version="2.5">
<description>JSF 2.0 - Hello World</description>
<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>*.xhtml</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>hello.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
</web-app>[/XML]