# Probleme beim Einrichten



## Fu3L (12. Aug 2012)

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:


```
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]


----------



## Templarthelast (13. Aug 2012)

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.


----------



## Fu3L (13. Aug 2012)

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.


----------



## maki (13. Aug 2012)

Solltest dich in Maven einarbeiten, sonst wird das nix.

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


----------

