support-project / knowledge

Free Knowledge Management System
Apache License 2.0
720 stars 187 forks source link

java12でローカルにインストールしたknowledgeが実行できない。 #1079

Open kasajimakengo opened 5 years ago

kasajimakengo commented 5 years ago

実行環境

OS:mac OS mojave 0.14.5 java Version:Java SE 12 tomcat:tomcat-8.5

再現手順とエラーログ

https://github.com/support-project/knowledge/wiki/How-to-set-up-(japanese) 上記リンク内の手順を行い、tomcatを起動した所下記のようなエラーがcatalina.outに出力され、http://localhost:8080/knowledge にアクセスした所404のエラーメッセージが返されました。

[2;36m INFO 2019-07-27 11:52:34,952 Intercepter(220)   <Cause>
java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1360)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3143)
    at java.base/java.lang.Class.getConstructor0(Class.java:3348)
    at java.base/java.lang.Class.newInstance(Class.java:571)
    at org.support.project.common.serialize.SerializeUtils.getSerializerInstanse(SerializeUtils.java:58)
    at org.support.project.common.serialize.SerializeUtils.getSerializer(SerializeUtils.java:298)
    at org.support.project.common.serialize.SerializeUtils.bytesToObject(SerializeUtils.java:406)
    at org.support.project.ormapping.config.impl.ConnectionConfigXmlLoader.load(ConnectionConfigXmlLoader.java:43)
    at org.support.project.ormapping.config.impl.ConnectionConfigXmlLoader.load(ConnectionConfigXmlLoader.java:29)
    at org.support.project.ormapping.connection.ConnectionManager.getConnection(ConnectionManager.java:271)
    at org.support.project.ormapping.transaction.TransactionManager.start(TransactionManager.java:64)
    at org.support.project.ormapping.transaction.Transaction.invoke(Transaction.java:39)
    at org.support.project.knowledge.deploy.InitDB.init(InitDB.java:127)
    at org.support.project.knowledge.deploy.InitializationListener.contextInitialized(InitializationListener.java:41)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1841)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:835)

やったこと

javaのバーションが新しいことが原因と考え、javaのバージョンを8にした所エラーが解消され、knowledgeを開くことができました。 ※javaのバージョンは8,12のみで検証しました。他のバージョンについては検証していません。

問題点と対応していただきたいこと

手順書には(https://github.com/support-project/knowledge/wiki/How-to-set-up-(japanese))

Java version 8 以降をインストール

と記載されていますが、java12では実行できませんでしたので、wikiに明記または、上位のjavaに対応する修正をする必要があると考えています。

参考サイト

https://sun0range.com/information-technology/jaxb-exception

sage-git commented 5 years ago

Ubuntu 18.04 LTS, 公式ページからダウンロードしたtomcat9のbin, aptでインストールしたjavaについても同様に、11では動かず、8で実行できました。