0

我正在使用 JSF 2.2、Hibernate、Primefaces 和 Tomcat 构建一个 Web 应用程序。由于我现在有两个客户,他们都想要相同的应用程序,但在 UI 和内容上有一些细微差别,我决定将项目拆分为一个核心项目,我的所有 Java 代码都在其中,两个 DynamicWebProjects 依赖于那个核心。我所做的是以下内容:

*在 Eclipse 中创建了一个常规项目,并将我所有的 Java 类(包括 bean、过滤器等)放在那里(通过 buildpath 导入所有必要的库,如 primefaces、hibernate、jpa 等)

*创建了两个 DynamicWebProjects 并包含了核心项目,如Eclipse Web-App Deployment with Tomcat 中所述:提供多个项目的依赖项?

*从之前的“完整”项目中复制了 web.xml,只是更改了显示名称标签

现在,当我运行这两个应用程序时,我得到了一些奇怪的行为:

*显示起始页 (login.xhtml),但未加载任何资源。既不是 css 也不是任何图像,甚至是 primefaces 组件。

*当我尝试登录并调用 loginBean.login() 时,出现错误:target unreachable, identifier 'loginbean' resolved to null. 请注意,我的 bean 只是通过注释声明的。所以我尝试在每个 web 项目的 faces-config.xml 中声明它们,错误就消失了。但不幸的是,这导致了其他错误,例如:Error while running query: No query defined for that name [User.findUserByEmail]这也是通过核心类中的注释定义的。

*即使导航不再起作用。

我假设,由于只是导入了核心项目,注释被忽略了。但我真的不想在 .xml 文件中定义所有内容。

当然,我在 Stackoverflow 上阅读了不同的线程,但它们似乎都不适合我的问题,因为我没有更改代码中的任何内容并且它运行得非常好,当我在一个项目中拥有所有东西时。核心项目似乎也可以很好地导入,因为我可以毫无困难地访问核心类。关于如何解决这个问题的任何线索?也许我还应该说,我对整个 JEE 事物都很陌生,所以如果我遗漏了一些重要的东西,请告诉我。

提前致谢

4

0 回答 0