的JBoss 4.2.3 Servlet API的2.5 JSF 2.0 3.0休眠支持加(JBos

2019-09-28 21:38发布

虽然与JBoss 4.2.3在Redhat 6部署项目中,我为具有以下困难,所以我决定把它放在计算器,以便它可以帮助其他人。 如果任何人都可以提出一个好的标题,以便它可以很容易地被搜索,请

问:如何使Jboss的4.2.x版不理旧JSF库,并使用你的项目库中的一个?

问:如何使Jboss的扫描特定的路径WAR文件扫描?

问:如何与IP地址绑定的Jboss而不是本地主机?

问:在哪里放的Jboss爆炸WAR文件?

问: Hibernate-annotations有以下异常的Jboss 4.2.3注解和投掷冲突。

java.lang.ClassCastException: org.hibernate.validator.event.ValidateEventListener cannot be cast to org.hibernate.event.PreInsertEventListener 

问:如何运行JSF 2.0.xJBoss 4.0.x ? 作为JSF 2.0支持至少Servlet 2.5 API和JBoss具有Tomcat 5.x可支持Servlet 2.4在最大

问:如何更改动态Web项目的Servlet的版本?

Answer 1:

问:如何使Jboss的扫描WAR文件扫描特定的路径?

  1. 打开$JBOSS_HOME/server/default/conf/jboss-service.xml
  2. 加入你把你的战争逗号后的以下标记的路径。 假设我在战争粘贴/Oracle/my-web-apps

     <attribute name="URLs"> deploy,/Oracle/my-web-apps <as many comma separated path for Jboss to scan war> </attribute> 

问:如何与IP地址绑定的Jboss而不是本地主机?

JBOSS绑定IP地址,这样就可以使用,如果使用IP下面的命令访问

sh /Jboss/bin/run.sh -b 0.0.0.0

问:在哪里放的Jboss爆炸WAR文件?

你的WAR将在被爆炸/Jboss/server/default/temp/deploy ,但请注意,在一个文件夹中部署的事情,当你运行JBoss服务器只会是可见的,因为当你停止取消部署所有项目的JBoss服务器。

问:如何使Jboss的4.2.x版不理旧JSF库,并使用你的项目库中的一个?

为此,您不需要在JBoss的一面,但在任何改变web.xml自己的项目。 把下面context-param和全部完成

<context-param>
   <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
   <param-value>true</param-value>
</context-param>

链接: http://docs.jboss.org/jbossas/6/JSF_Guide/en-US/html/

问: Hibernate-annotations有以下异常的Jboss 4.2.3注解和投掷冲突。

转到/jboss-4.2.3.GA/server/default/lib和复制hibernate-annotations.jar ,并与您更换hibernate-annotations罐子。 然后再次导出和部署项目。 问题解决了。 :-)

问:如何运行在JBoss 4.0.x的2.0.x版本JSF? 作为JSF 2.0支持至少2.5的Servlet API和JBoss具有Tomcat的5.x的,可以在最大支持Servlet 2.4。

这里仅仅是EL标签提供不使用的Servlet 3.0的任何提前的功能,如异步支持等。按照下面的步骤,你可以运行JSF 2.0在JBoss 4.x版的区别

链接到这个问题的原来的答案- > https://stackoverflow.com/a/5998625/185022

JSF 2.0很大程度上取决于EL 2.1也就是Servlet 2.5的一部分,并且是一个重大的变化,而不是EL 2.0也就是Servlet 2.4的一部分,但它不依赖于任何特定的Servlet 2.5特定API。 Servlet 2.4的应该工作一样好。 因此,在理论上,你可以得到JSF 2.0对Servlet 2.4的工作,如果你提供自己的EL 2.1 API和执行/WEB-INF/lib 。 我做了一个快速测试在这里Tomcat上33年5月5日,在以下库/WEB-INF/lib

  • el-api.jar的文件复制从lib文件夹中的Tomcat对6.0.x
  • jboss-el.jar文件(实现EL 2.1和支持EL 2.2等带有参数的方法调用)
  • jsf-api.jarjsf-impl.jar从钻嘴鱼科的2.0.x

和一个Servlet 2.4 web.xml其中的JBoss EL被宣告:

<context-param>     
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
</context-param>
    <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener> 
<context-param>
    <param-name>com.sun.faces.validateXML</param-name>
    <param-value>false</param-value>

一个简单的JSF 2.0的facelet(未JSP!)用一个简单<h:form>与一个按钮<f:ajax>和一个简单的@ViewScoped @ManagedBean适用于我在Tomcat 33年5月5日。 试一试在你的JBoss 4.0.5,并对其进行全面测试。

请注意,你最少需要JDK 1.5,而不是JDK 1.4。 另外请注意,您的应用程序是这样不可移植到任何的Servlet 3.0容器由于Servlet 2.5的特定的存在el-api.jar的文件。

问:如何更改动态Web项目的Servlet的版本?

在Eclipse中右键单击一个项目,然后转到属性,然后在项目构面点击如下图所示,如果它可以让你改变那么它的好,否则有一个黑客做的形象。

如果Eclipse不允许你这样做,那么去$ProjectWorkSpace/.settings/org.eclipse.wst.common.project.facet.core.xml和值更改facet="jst.web"2.4 ,也别忘了在你的改变XML模式的Servlet 2.4 Web.xml ,如下图所示

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
                             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


文章来源: JBoss 4.2.3 Servlet API 2.5 JSF 2.0 Hibernate 3.0 Support Added
标签: jboss jsf-2.2