同事问我,JSF项目发布的时候,为什么编译后的类放在classes发布是没问题的,而打包成jar放到lib下就包null错误呢?
很是纠结了一阵后,我找到了答案:
https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1693
Managed beans declared only via javax.faces.bean annotations, and packaged only in a jar file in WEB-
INF/lib are not discovered by the application.
MBean 使用注解方式声明 而不是声明在faces-config.xml 打包放在WEB-INF/lib里
MBean无法被应用正确发现。
The real problem here was user error. My testcase.zip did not have a faces-config.xml in the META-INF in the jar. When I added one, it worked. However, the spec says an empty or zero-length one should be sufficient also. This assertion failed. The attached changebundle fixes the problem of a zero-length or empty faces-config.xml file in a META-INF in a jar in WEB-INF/lib causing the app to fail to deploy.
大概意思是:
jar包中,在META-INF里需要一个空的faces-config.xml文件
分享到:
相关推荐
6. **部署和测试**:将EJB和JSF项目打包成各自的JAR或WAR文件,然后部署到支持Java EE的服务器(如Tomcat、GlassFish、WildFly等)上,进行测试和调试。 这个"简单示例"可能包括了创建一个简单的EJB服务,如计算两...
- 示例代码:提供示例项目,展示JSF的实际应用,帮助理解组件工作原理和事件处理流程。 - 案例研究:通过实际的Web应用案例,讲解如何在JSF中实现特定功能,如登录注册、数据展示等。 - 实践练习:提供练习题目,让...
6. **jsf架包**:JSF相关的库通常被打包成JAR文件,这些文件包含了JSF API和实现。在Java项目中,我们需要把这些JAR添加到类路径中,或者如果使用的是现代的构建工具(如Maven或Gradle),则可以通过依赖管理来引入...
1. **环境配置**:首先需要在项目中引入JSF的库,如Mojarra或MyFaces,通常通过添加对应的`.jar` 文件或使用Maven/Gradle依赖来完成。 2. **创建视图**:使用JSF的XML方言(XHTML)创建视图页面,定义组件和事件处理...
- **项目结构**:JSF项目通常包含Web-INF目录,其中包含faces-config.xml配置文件,web.xml部署描述符,以及资源和库文件。 - **页面创建**:JSF页面通常使用.jsf或.xhtml扩展名,它们是XHTML文档,但包含JSF特定的...
JSF应用通常以WAR(Web ARchive)文件的形式打包,然后部署到Tomcat这样的服务器上运行。 **JSF生命周期** 包含6个主要阶段:恢复视图、应用请求值、处理验证、更新模型值、调用应用业务逻辑和呈现响应。在每个阶段...
jsf项目的目录结构
3. **Ajax4jsf**:Ajax4jsf是一个开源项目,为JSF添加了Ajax功能,允许开发者创建富客户端Web应用。它提供了许多预定义的Ajax行为和组件,可以轻松实现局部刷新、异步数据加载等功能。Ajax4jsf与JSF生命周期无缝集成...
SWF为JSF提供了更强大的流程控制能力,而SpringFaces则是Spring社区为了更好地集成JSF而创建的项目。 **4. 整合步骤** - 配置Spring:在Web应用的`web.xml`中配置Spring的DispatcherServlet,并添加Spring的上下文...
但要注意,虽然这些框架的组合提供了强大功能,也增加了系统的复杂性,因此在实际项目中需要权衡利弊,合理设计架构。通过理解每个框架的核心功能和它们之间的交互,开发人员可以构建出高性能、易于维护的Web应用...
6. **构建脚本**:如Ant或Maven的build.xml文件,用于编译、测试和打包项目。 7. **许可证文件**:说明项目授权方式,如Apache License 2.0等,规定了软件的使用、修改和分发规则。 在深入研究这个项目时,开发者...
4. **整合与部署**:将所有组件和页面打包成一个可部署的应用,部署到支持Java EE的服务器上,如Tomcat或WildFly。 5. **测试与优化**:进行功能测试和性能测试,根据测试结果优化代码和配置,确保应用稳定且高效。...
1. **构建项目**:使用Maven或Gradle等构建工具将源代码打包成WAR文件。 2. **准备Tomcat**:确保Tomcat6已经安装并启动,且服务器的`lib`目录下包含了JSF和Spring的必要库。 3. **部署应用**:将WAR文件复制到...
将`jsf_demo`项目打包成WAR文件,然后将其部署到Servlet容器中。访问`http://localhost:8080/jsf_demo/index.xhtml`,就可以看到创建的JSF页面。输入姓名并点击“提交”,将会在服务器端看到“你好,[姓名]”的输出...
对于传统的Web应用,这些jar包会被放入`WEB-INF/lib`目录下,而对于现代的、使用构建工具的项目,它们会被自动管理并打包到最终的WAR文件中。 在实际开发中,理解JSF的工作原理,如生命周期、渲染树、事件处理以及...
开发者可以将打包好的拍卖系统部署到JBOSS上,服务器会自动加载并管理所有必要的组件,确保系统的正常运行。 综上所述,"基于JSF+EJB3+JPA的竞价拍卖系统"是利用Java EE的强大功能构建的,它集成了前端用户交互、...
为了运行一个JSF应用,你需要安装JDK和Servlet容器(如Tomcat),然后下载并添加JSF的参考实现库,包括`jsf-api.jar`和`jsf-impl.jar`等依赖库到你的项目或Servlet容器的类路径中。通过创建一个包含JSF页面、配置...
在JSF项目中,Ant或Maven常被用来管理依赖和构建流程。 4. **bin**:编译后的类文件目录,包含了项目运行时需要的可执行文件。 5. **docs**:文档目录,可能包含API文档或其他技术文档,帮助开发者理解代码结构和...
发布JSF应用至WebSphere平台的第一步是创建和打包应用。在本地计算机上建立一个名为`jsfdemo`的文件夹,并在其下创建一个名为`WEB-INF`的子文件夹。`WEB-INF`文件夹中需要包含`web.xml`配置文件,该文件的结构与内容...
这些JAR包通常在开发和部署Java Web应用程序时使用,特别是那些基于JSF和JSP的项目。它们涵盖了从XML处理、JSF框架到JSP标签库的多个方面,帮助开发者高效地构建和运行Web应用。理解并正确使用这些库对于提升项目的...