我使用钩子maven原型创建了一个liferay Hook插件,并覆盖了/html/common/themes/top_js-ext.jspf
。在jsp我需要使用自定义功能,我有一个单独的jar。 jar是通过maven依赖项包含的,项目编译得很好,但是当我运行jsp时,门户网站找不到导入的类。
我该如何解决这个问题?我应该在liferay的lib目录中手动包含自定义jar吗?
如果我理解正确,那么JSP将在Hook插件的上下文之外执行,因此,自定义类不可用。有没有办法可以使用maven构建插件,以便门户找到我的自定义jar,而不必手动将它们移动到门户的类路径?
答案 0 :(得分:2)
有多个选项可让您的自定义jar可用于运行时。首先,您可以考虑将它们放入plugin's WEB-INF/lib directory:
[..]将JAR文件放在custom-jsps文件夹的WEB-INF / lib文件夹中[..]
另一种方法是create an ext plugin并将您的jar文件放入ext-lib / portal或ext-lib / global目录。完成deployment of the ext-plugin后,它们将可用于所有tomcat的webapps(在ext-lib / global的情况下)或门户网站(以tomcat / webapps / ROOT为单位)。
答案 1 :(得分:1)
获取jar类的java类文件并将其放在root / web-inf / lib中并重新启动它。
答案 2 :(得分:0)
JSP在门户网站的类加载器中执行,即使它是通过单独的Web应用程序(钩子)部署的。因此,您可以选择
类加载桥的缺点是使用它们就像在反射中编程一样 - 你不喜欢常规做的事情。特别是你不想经常维护。