Hallo!
Technologien: JSF 2.0, EJB 3.1, JBossAS 6.0
Projektstruktur:
Ear (Ear Projekt)
Service (beinhaltet die EJBs --> @Stateless)
ServiceClient(beinhaltet die Interfaces von Service --> @Local)
Web (JSF 2.0 Mojarra)
Projekte habe ich mit dem Eclipse Wizard angelegt.
Nun habe ich auf den JBoss deployed (sprich das EAR in Eclipse dem JBoss geadded), der Server startet ohne Fehler, die Applikation ist ansprechbar nur wird folgendes nicht injected (ist eine Bean zu einer .xhtml):
faces-config.xml
[xml]
<?xml version="1.0"?>
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
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_2_0.xsd">
<managed-bean>
<managed-bean-name>testBean</managed-bean-name>
<managed-bean-class>de.xx.web.test.TestBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
[/xml]
web.xml
[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_3_0.xsd"
version="3.0">
<display-name>Web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<description>JavaServer Faces 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>
<listener>
<listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
</listener>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>hello.xhtml</welcome-file>
</welcome-file-list>
</web-app>
[/xml]
Muss ich eventuell dem JBoss irgendein JAR ins lib legen?
Mein EAR Projekt (durch Eclipse erstellt) besitzt lediglich einen Ordner "EarContent" selbiger ist aber leer und sonst gibts in dem Projekt auch nix anderes.
Benutze:
[xml]
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>
[/xml]
--> kannte ich bisher nicht, habe immer mit
[xml]
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
[/xml]
gearbeitet nur gibt es hierzu kein 3.1
Technologien: JSF 2.0, EJB 3.1, JBossAS 6.0
Projektstruktur:
Ear (Ear Projekt)
Service (beinhaltet die EJBs --> @Stateless)
ServiceClient(beinhaltet die Interfaces von Service --> @Local)
Web (JSF 2.0 Mojarra)
Projekte habe ich mit dem Eclipse Wizard angelegt.
Nun habe ich auf den JBoss deployed (sprich das EAR in Eclipse dem JBoss geadded), der Server startet ohne Fehler, die Applikation ist ansprechbar nur wird folgendes nicht injected (ist eine Bean zu einer .xhtml):
Java:
public class TestBean {
@EJB
private TestServiceLocal testService;
private String testText;
public TestBean() {
System.out.println("wir waren im konstruktor");
testText = testService.doTest();
}
@PostConstruct
public void init() {
testText = testService.doTest();
}
public void setTestText(String testText) {
this.testText = testText;
}
public String getTestText() {
return testText;
}
}
Java:
@Stateless
public class TestService implements TestServiceLocal {
@Override
public String doTest() {
// TODO Auto-generated method stub
return "Teststring";
}
}
Java:
@Local
public interface TestServiceLocal {
public abstract String doTest();
}
faces-config.xml
[xml]
<?xml version="1.0"?>
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
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_2_0.xsd">
<managed-bean>
<managed-bean-name>testBean</managed-bean-name>
<managed-bean-class>de.xx.web.test.TestBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
[/xml]
web.xml
[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_3_0.xsd"
version="3.0">
<display-name>Web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<description>JavaServer Faces 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>
<listener>
<listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
</listener>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>hello.xhtml</welcome-file>
</welcome-file-list>
</web-app>
[/xml]
Muss ich eventuell dem JBoss irgendein JAR ins lib legen?
Mein EAR Projekt (durch Eclipse erstellt) besitzt lediglich einen Ordner "EarContent" selbiger ist aber leer und sonst gibts in dem Projekt auch nix anderes.
Benutze:
[xml]
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>
[/xml]
--> kannte ich bisher nicht, habe immer mit
[xml]
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
[/xml]
gearbeitet nur gibt es hierzu kein 3.1
Zuletzt bearbeitet: