Probleme beim Einrichten

Fu3L

Top Contributor
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:

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]
 
Maven ist eigentlich nur eine Versionskontrollwerkzeug, d.h. in deinem Fall ein Tool,um dir die nötigen Datein(MyFaces) runterzuladen.

Ich gehe mal davon aus, dass der Import nicht "gefunden" wurde. D.h. du musst in deinem Projektverzeichnis die entsprechenden Jars liegen haben. Wenn du eclipse als IDE verwendest, kannst du dir MyFaces bequem über die gui runterladen.
 
Ich frage mich dann aber, warum Maven das dann nicht tut, wenn es doch eigentlich dafür da sei...

Nunja, nachdem ich dir folgend und entgegen anderer Posts, die ich dazu fand, mir Apache MyFaces jar runtergeladen habe, funktioniert zumindest der Import nun, für mehr hab ich grad keine Zeit. Danke.
 
Solltest dich in Maven einarbeiten, sonst wird das nix.

Deine Dependencies sind in Profilen, wleches davon its denn aktiviert?
 

Zurück
Oben