Face-config.xml в файле JAR ведет себя по-разному на двух домино - PullRequest
2 голосов
/ 07 марта 2012

У меня есть дистрибутив для бобов. Чтобы сохранить некоторую работу для разработчиков, он содержит faces-config.xml объявление компонентов, используемых JAR - внутри каталога META-INF JAR.

JAR находится внутри WebContent \ WEB-INF \ lib и указан в пути сборки NSF.

Сервер разработки работает с этой настройкой и не требует каких-либо изменений faces-config.xml внутри NSF. Но база данных, созданная как копия или обновленная с помощью шаблона с сервера разработки, не работает - веб-страница завершается с ошибкой:

Error while executing JavaScript computed expression
Script interpreter error, line=1, col=1: [ReferenceError] 'app' not found

где app - это имя компонента приложения.

Ошибка регистрируется в xpages_exc.log с полной трассировкой стека.

Оба сервера виртуализированы Wintels, 64-битная Windows, 64-битная Domino. Я посмотрел в xsp.properties, java.policy, они одинаковы. База данных подписана сервером.

Кто может это объяснить? Что проверить?

Отредактировано:

StackTrace:

Page Name: /home.xsp
Control id: _id2
Script interpreter error, line=1, col=1: **[ReferenceError] 'app' not found
->   1: app['fld_DbHomeKey'].getUrl() + 'icons.css'**
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
    at com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:132)
    at com.ibm.xsp.page.compiled.ExpressionEvaluatorImpl.getBindingValue(ExpressionEvaluatorImpl.java:151)
    at xsp.OneUILayout$OneUILayoutPage.initIncluderAsRoot(OneUILayout.java:113)
    at com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(AbstractCompiledPage.java:249)
    at com.ibm.xsp.page.compiled.AbstractCompiledPage.addComponent(AbstractCompiledPage.java:389)
    at com.ibm.xsp.component.UIIncludeComposite.buildContents(UIIncludeComposite.java:453)
    at com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(AbstractCompiledPage.java:334)
    at com.ibm.xsp.page.compiled.CompiledComponentBuilder.buildChildren(CompiledComponentBuilder.java:123)
    at com.ibm.xsp.page.compiled.CompiledComponentBuilder.buildAll(CompiledComponentBuilder.java:84)
    at com.ibm.xsp.component.UIViewRootEx.buildContents(UIViewRootEx.java:1649)
    at com.ibm.xsp.component.UIViewRootEx2.buildContents(UIViewRootEx2.java:246)
    at com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(AbstractCompiledPage.java:334)
    at com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(AbstractCompiledPage.java:256)
    at com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(AbstractCompiledPage.java:167)
    at com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:511)
    at com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:557)
    at com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:141)
    at com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:90)
    at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:238)
    at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200)
    at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
    at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
    at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251)
    at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598)
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: com.ibm.jscript.InterpretException: Script interpreter error, line=1, col=1: [ReferenceError] 'app' not found
    at com.ibm.jscript.types.FBSReferenceByName$UndefinedVariable.getValue(FBSReferenceByName.java:49)
    at com.ibm.jscript.ASTTree.InterpretResult.getFBSValue(InterpretResult.java:70)
    at com.ibm.jscript.ASTTree.ASTArrayMember.interpret(ASTArrayMember.java:96)
    at com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:106)
    at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:88)
    at com.ibm.jscript.ASTTree.binaryop.ASTBinaryAdd.interpret(ASTBinaryAdd.java:93)
    at com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
    at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
    at com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
    at com.ibm.jscript.JSExpression.access$1(JSExpression.java:424)
    at com.ibm.jscript.JSExpression$2.run(JSExpression.java:414)
    at java.security.AccessController.doPrivileged(AccessController.java:284)
    at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
    at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
    at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
    at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:221)
    at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)
    at com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78)
    ... 33 more

приложение представляет собой объект POJO, реализующий Map, возвращает объект POJO с помощью метода getUrl, который возвращает базовый URL ресурсов приложения. В любом случае, приложение не определено - оно не было создано из-за проблемы с Face-Config.

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Ваши файлыface-config и xsp-config должны находиться в папке src \ META-INF, а не в META-INF плагина.Также для вашего плагина должен быть класс Library.В этом файле класса должно быть 2 метода: getXspConfigFiles () и getFacesConfigFiles ().Эти два метода должны содержать массив String, в котором перечислены все ваши файлы xsp-config и face-config, которые затем будут доступны любому приложению, которое включает ваш плагин в качестве ресурса в Application Properties \ Advanced \ XPage Libraries.Если ваш плагин там не отображается, убедитесь, что копия этого jar-файла плагина установлена ​​в Domino Designer, и что сервер распознает ваш плагин, когда вы запускаете команду "Tell http ss osgi com.yournamespace" на консоли сервера.В результирующем выводе с сервера должно быть указано «<< LAZY >>», «ACTIVE» или «RESOLVED», а не «INSTALLED», поскольку это просто говорит о том, что плагин находится на сервере, но не загружен.

0 голосов
/ 22 марта 2012

Я думаю, это может быть проблема с разделителем строк - не знаю, а просто мысли вслухЕсть ли серверы на разных платформах?

...