如何将war文件中的JSF页面连接到企业应用程序中jar文件中的托管bean
我的JSF Java企业应用程序无法访问支持bean;正在发送错误消息-如何将war文件中的JSF页面连接到企业应用程序中jar文件中的托管bean,jsf,netbeans,Jsf,Netbeans,我的JSF Java企业应用程序无法访问支持bean;正在发送错误消息- /master/currency/addCurrency.xhtml@19,94 value=“#{addCurrencyController.code}”:无法访问目标,标识符“addCurrencyController”解析为空 我已经扫描了前面的问题,解决方案(问题#7663818)是在jar文件的META-INF文件夹中有一个空白的faces-config.xml。在这种情况下,jar文件是war文件的一部分。我无
/master/currency/addCurrency.xhtml@19,94 value=“#{addCurrencyController.code}”:无法访问目标,标识符“addCurrencyController”解析为空
我已经扫描了前面的问题,解决方案(问题#7663818)是在jar文件的META-INF文件夹中有一个空白的faces-config.xml。在这种情况下,jar文件是war文件的一部分。我无法让它工作,因为我的xhtml处于战争状态,AddCurrencyController请求范围的托管bean在jar中,并且两者都打包在ear中
My application.xml是Maven生成的,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<application 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/application_6.xsd" version="6">
<display-name>ruwi-app</display-name>
<module>
<web>
<web-uri>ruwi-web-1.0.war</web-uri>
<context-root>/ruwi</context-root>
</web>
</module>
<module>
<ejb>ruwi-ejb-1.0.jar</ejb>
</module>
<library-directory>lib</library-directory>
</application>
ruwi应用程序
ruwi-web-1.0.war
/鲁威
ruwi-ejb-1.0.jar
解放党
我使用的是Netbeans 7.3 Beta 2 IDE,服务器是捆绑的GlassFish
谢谢
--MH只有当包含托管bean的JAR位于WAR的
/WEB-INF/lib
文件夹中(因此当JAR位于EAR的/lib
!)并且JAR具有与JSF2.0兼容的/META-INF/faces config.xml
(因此不是空的!)时,它才起作用
您还应该确保您的webapp的
/WEB-INF/faces config.xml
没有metadata complete=“true”
属性集。托管bean是在ejb jar中,还是在ear的/lib目录中的jar中?Mike-托管bean在ejb jar中。我认为这是您的问题。EJB归档文件不应包含对web构件的任何引用。这几乎就是这些层背后的全部想法。如果出于某种原因,您需要支持bean中的EJB服务,请将其拉入war。不要将支持bean推入EJB jar.BalusC中——我的控制器基本上是一个托管(支持)bean,它是一个EJB。如果在NetBeans中将应用程序配置为Web应用程序,我就能够运行它。从纯J(2)EE的角度来看,我不希望EJB成为我war文件的一部分。因此,我尝试将我的应用程序配置为NetBeans中的企业应用程序。有没有一种解决方案可以让托管bean留在ejbjar项目中?“作为ejb的托管bean”毫无意义。那里有一些严重的设计错误。EJB项目不应该包含任何JSF工件。换句话说,在EJB项目中不应该有任何javax.faces.*
导入。
<?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_2_0.xsd"
version="2.0">
</faces-config>