コードノードを起動すると、エラーメッセージが表示されます。Corda:v1.0にアップグレードした後の開始ノードでエラーが発生し、META-INF.servicesにシリアライズのホワイトリストが追加されました
Exception in thread "main" java.lang.NoClassDefFoundError:
net/corda/webserver/services/WebServerPluginRegistry
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
at java.util.ServiceLoader$1.next(Unknown Source)
プラグインのコード:エラーの乗り心地を得るために
class testcasePlugin : SerializationWhitelist, WebServerPluginRegistry{
override val webApis = listOf(
Function(::MiscApi),
)
override val staticServeDirs: Map<String, String> = mapOf(
// URL is /web/index
"index" to javaClass.classLoader.getResource("index").toExternalForm(),
// URL is /web/testcase
"testcase" to javaClass.classLoader.getResource("testcase").toExternalForm()
)
override val whitelist: List<Class<*>> = listOf(TransactionBuilder::class.java)
}
トリックは、META-INFから「net.corda.core.serialization.SerializationWhitelist」ファイルを削除することです。 servicesフォルダには、 'net.corda.webserver.services.WebServerPluginRegistry'ファイルだけが残っています。
何が問題になりましたか?
はhttps://stackoverflow.com/questions/45855475/m14-runnodes-cannot-start-the-controllerを参照してください。 – joel
正しい@joelですが、CordaPluginRegistryがなくなりました。このホワイトリストのシリアル化を行う正しい方法は何ですか? –