Q:如何让Jboss扫描WAR文件扫描的特定路径?
- 打开
$JBOSS_HOME/server/default/conf/jboss-service.xml
在以下标签中添加逗号后放置战争的路径。假设我的战争粘贴在/Oracle/my-web-apps
<attribute name="URLs">
deploy,/Oracle/my-web-apps <as many comma separated path for Jboss to scan war>
</attribute>
问:如何将 Jboss 绑定到 IP 地址而不是 localhost?
将 JBOSS 与 ip 地址绑定,如果有 IP,则可以使用以下命令访问
sh /Jboss/bin/run.sh -b 0.0.0.0
Q: 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
复制并用你的jarhibernate-annotations.jar
替换它。hibernate-annotations
然后再次导出和部署项目。问题解决了。:-)
问:如何在 JBoss 4.0.x 上运行 JSF 2.0.x?由于 JSF 2.0 至少支持 Servlet 2.5 API,而 JBoss 有 Tomcat 5.x,最多可以支持 Servlet 2.4。
如果您没有使用 Servlet 3.0 的任何高级功能(如异步支持等),则 EL 标记只是有所不同。请按照以下步骤操作,您可以在 Jboss 4.x 上运行 JSF 2.0
链接到这个问题的原始答案 --> 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 应该也能正常工作。所以理论上,如果您提供自己的 EL 2.1 API 和/WEB-INF/lib
. 我在 Tomcat 5.5.33 上使用以下库进行了快速测试/WEB-INF/lib
:
web.xml
还有一个声明了 JBoss EL的 Servlet 2.4 :
<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 5.5.33 上适用于我。在您的 JBoss 4.0.5 上试一试并彻底测试。
请注意,您至少需要 JDK 1.5,而不是 JDK 1.4。另请注意,由于存在 Servlet 2.5 特定el-api.jar
文件,因此您的应用程序无法移植到任何 Servlet 3.0 容器。
问:如何更改动态 Web 项目的 Servlet 版本?
在 Eclipse 中,右键单击一个项目并转到属性,然后单击 Project Facet,如下图所示,如果它允许您进行更改,那么它很好,否则有一个黑客可以做到这一点。
如果 Eclipse 不允许您这样做,请转到并更改to$ProjectWorkSpace/.settings/org.eclipse.wst.common.project.facet.core.xml
的值,并且不要忘记在您的 Servlet 2.4 中更改 XML Schema,如下所示facet="jst.web"
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">