当前位置: 首页 > 面试题库 >

具有共享代码的多个JSF项目的结构

巫马瀚漠
2023-03-14
问题内容

我有两个共享大量代码的JSF项目-Java类,xhtml文件,标记库,css和javascript文件等。我的开发环境/平台主要包括Eclipse,Ant,Perforce和Tomcat。

有没有人找到一种创建和组织共享代码的方法,以便公用代码可以保留在一组文件夹中?

Eclipse使添加Java源的外部文件夹变得容易,但是在其他文件类型上却不足。我将不胜感激。


问题答案:

在Eclipse中创建一个新的“ Java项目”。将其作为另一个项目添加到主动态Web项目的Deployment Assembly属性。这样,它将自动/WEB-INF/lib以Web项目构建中的JAR结尾。由于Eclipse是较新的版本,因此您还可以将项目创建为“ Web Fragment Project”。这样,“部署组装”步骤将自动完成。

将所有那些共享的JSF2 / Facelets资源文件放在/META-INF/resourcesJava项目的文件夹中。就像对待WebContent/resources主要的Web项目一样。标记文件可以只保存在自己的/META-INF/tags文件夹中。

例如

CommonWebProject
 |-- META-INF
 |    |-- resources
 |    |    `-- common
 |    |         |-- css
 |    |         |    `-- some.css
 |    |         |-- js
 |    |         |    `-- some.js
 |    |         |-- images
 |    |         |    `-- some.png
 |    |         |-- components
 |    |         |    `-- somecomposite.xhtml
 |    |         `-- sometemplate.xhtml
 |    |-- tags
 |    |    `-- sometag.xhtml
 |    |-- beans.xml
 |    |-- faces-config.xml
 |    |-- some.taglib.xml
 |    |-- web-fragment.xml
 |    `-- MANIFEST.MF
 :

<h:outputStylesheet library="common" name="css/some.css" />
<h:outputScript library="common" name="js/some.js" />
<h:graphicImage library="common" name="images/some.png" />
<common:somecomposite />
<common:sometag />
<ui:include src="/common/sometemplate.xhtml" />
...

如果您使用的是Maven,则/META-INF必须将文件夹放在其中src/main/resources,因此不能放置src/main/java。

如果要触发JSF2注释扫描仪,以及让你可以把@ManagedBean,@FacesValidator,@FacesConverter和后妃在该项目中,以及创建一个JSF2兼容的/META-INF/faces-config.xmlhtml" target="_blank">文件,以及(它甚至可以保持为空)。

<?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>

就这样。



 类似资料:
  • 问题内容: 我有多个具有相似构建步骤的项目,并且我正在研究在这些项目中重用Jenkinsfile管道。我很难找到有关如何实现这样的标准(我认为)设置的文档。 这是我的要求: 1)Jenkinsfile存储在回购中,在多个项目之间共享 2)每个项目都有其自己的参数:项目在仓库中的位置。 3)至少从用户角度来看,每个项目在Jenkins中都应独立,这意味着,例如,执行和日志可在Jenkins中的每个项

  • 我有一个链接到我的Firebase帐户的Flutter项目(使用< code>FlutterFire CLI)。< br >现在我已经完成了这个项目,我想卖掉源代码。< br >如何更改与此项目关联的Firebase帐户? 当使用时,它会生成一个名为包含每个平台的Firebase选项,如下所示: 我必须改变这些值吗?如果是,我在哪里可以找到所有这些? 我试图更改值(在中),这导致了此错误: 它抛出

  • 标题中的问题。这里提出了一个类似的问题,当时唯一的解决办法是将项目发布到本地Maven存储库中。 这个问题在Android Studio 0.5中修复了吗(正如一些人所声称的)?在其发行说明中有一条声明说“支持模块内容根目录之外的源文件夹”。这是否意味着我们最终可以从项目文件夹外部导入库? 我试过文件- 编辑2:查看最新解决方案的接受答案(截至0.8。) 编辑: 我的项目目录结构只有一个模块,如下

  • 问题内容: 我们的软件当前在MySQL上运行。所有租户的数据都存储在同一架构中。由于我们使用的是Ruby on Rails,因此我们可以轻松确定哪些数据属于哪个租户。但是,当然有些公司担心其数据可能会遭到破坏,因此我们正在评估其他解决方案。 到目前为止,我已经看到了三种选择: 多数据库(每个租户都有自己的-每个客户几乎与1台服务器相同) 多模式(在MySQL中不可用,每个租户都在共享数据库中获得自

  • 问题内容: 我有3个表,我试图在这些表之间 正确 创建关系: 游戏阶段 游戏事件(“游戏阶段”的一个步骤) 动作窗口(“游戏阶段”中一种截然不同的步骤) “游戏阶段”可以具有一个或多个“游戏事件”,而“游戏事件”可以在一个或多个“游戏阶段”中发生。(多对多) 一个“游戏阶段”可以具有一个或多个“动作窗口”,而一个“动作窗口”可以在一个或多个“游戏阶段”中发生。(多对多) “游戏事件”与“动作窗口”