【问题标题】:How to fix empty dashboard screen in Knowage?如何修复 Knowage 中的空仪表板屏幕?
【发布时间】:2019-08-24 21:33:20
【问题描述】:

我尝试获取在 docker 环境中运行的知识。在获得知识运行的几个问题之后,我终于设法登录。在更多问题之后,我还能够将知识连接到 fiware orion 上下文浏览器。

但是,当我尝试将驾驶舱添加到我的工作区时,我收到了一个空的内容页面。知识导航仍然可见且有效。这看起来像这样:

Knowage issue

我按照官方描述 (https://hub.docker.com/r/knowagelabs/knowage-server-docker) 运行 docker-compose。 docker-compose 文件如下所示:

    knowage:
        image: knowagelabs/knowage-server-docker:6.3.3
        links:
            - knowagedb:db
        ports:
            - "8080:8080"
        environment:
            - WAIT_MYSQL=true

    knowagedb:
        image: mysql:5.6
        environment:
            - MYSQL_USER=username
            - MYSQL_PASSWORD=userpassword
            - MYSQL_DATABASE=knowagedb
            - MYSQL_ROOT_PASSWORD=rootpassword

我在我的 docker 日志中发现了两个可能与此行为相对应的问题:

第一:

knowage_1    | SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
knowage_1    | SLF4J: Defaulting to no-operation (NOP) logger implementation
knowage_1    | SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

第二个:

knowage_1    | 03-Apr-2019 07:57:50.345 SEVERE [main] org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans Exception processing Global JNDI Resources
knowage_1    |  javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundException: de.myfoo.commonj.work.FooWorkManagerFactory]
knowage_1    |  at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:66)
knowage_1    |  at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
knowage_1    |  at org.apache.naming.NamingContext.lookup(NamingContext.java:839)
knowage_1    |  at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
knowage_1    |  at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117)
knowage_1    |  at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
knowage_1    |  at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34)
knowage_1    |  at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:138)
knowage_1    |  at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:145)
knowage_1    |  at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:110)
knowage_1    |  at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:82)
knowage_1    |  at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
knowage_1    |  at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:395)
knowage_1    |  at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:339)
knowage_1    |  at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:786)
knowage_1    |  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
knowage_1    |  at org.apache.catalina.startup.Catalina.start(Catalina.java:687)
knowage_1    |  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
knowage_1    |  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
knowage_1    |  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
knowage_1    |  at java.lang.reflect.Method.invoke(Method.java:498)
knowage_1    |  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
knowage_1    |  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
knowage_1    | Caused by: java.lang.ClassNotFoundException: de.myfoo.commonj.work.FooWorkManagerFactory
knowage_1    |  at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
knowage_1    |  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
knowage_1    |  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
knowage_1    |  at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:61)
knowage_1    |  ... 22 more
knowage_1    |

非常感谢任何支持以使其运行。

谢谢, 凯文

【问题讨论】:

    标签: docker jndi slf4j tomcat8 fiware-knowage


    【解决方案1】:

    我自己想出来的。

    我需要在 docker-compose 文件中设置可选参数“PUBLIC_ADDRESS”...

        knowage:
            image: knowagelabs/knowage-server-docker:6.3.3
            links:
                - knowagedb:db
            ports:
                - "8080:8080"
            environment:
                - WAIT_MYSQL=true
                - PUBLIC_ADDRESS=localhost
    
        knowagedb:
            image: mysql:5.6
            environment:
                - MYSQL_USER=username
                - MYSQL_PASSWORD=userpassword
                - MYSQL_DATABASE=knowagedb
                - MYSQL_ROOT_PASSWORD=rootpassword
    

    我发现这是因为许多其他人都遇到了问题,因为他们没有正确定义基本网址。所以我只是将“localhost”添加到容器的“public_address”环境中

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 2019-03-17
      • 2021-12-02
      • 2020-07-16
      • 1970-01-01
      • 2018-08-28
      • 2019-09-16
      • 1970-01-01
      相关资源
      最近更新 更多