我们有一个基于 JavaFX 的应用程序,它没有模块化(有原因,涉及遗留库),但我们使用jdeps和构建了一个自定义运行时jlink。
我们最近重写了该应用程序并添加了一些新的依赖项,并删除了其他依赖项。现在,正在构建应用程序的脚本在jdeps通话期间突然停止工作。
注意:这种情况发生在 Linux \xe2\x80\x93 上,我尚未测试其他操作系统,但我不期望出现另一个结果。
\n当脚本调用时
\n~/path/to/jdk/bin/jdeps -q --multi-release 11 --ignore-missing-deps --print-module-deps --class-path ~/path/to/app/target/package/libs/* target/classes/ch/cnlab/uxtest/MainKt.class\nRun Code Online (Sandbox Code Playgroud)\n结果总是
\nException in thread "main" java.lang.Error: java.util.concurrent.ExecutionException: com.sun.tools.jdeps.MultiReleaseException\n at jdk.jdeps/com.sun.tools.jdeps.DependencyFinder.waitForTasksCompleted(DependencyFinder.java:271)\n at jdk.jdeps/com.sun.tools.jdeps.DependencyFinder.parse(DependencyFinder.java:133)\n at jdk.jdeps/com.sun.tools.jdeps.DepsAnalyzer.transitiveArchiveDeps(DepsAnalyzer.java:217)\n at jdk.jdeps/com.sun.tools.jdeps.DepsAnalyzer.run(DepsAnalyzer.java:138)\n at jdk.jdeps/com.sun.tools.jdeps.ModuleExportsAnalyzer.run(ModuleExportsAnalyzer.java:74)\n at jdk.jdeps/com.sun.tools.jdeps.JdepsTask$ListModuleDeps.run(JdepsTask.java:1047)\n at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:574)\n at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:533)\n at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49)\nCaused by: java.util.concurrent.ExecutionException: com.sun.tools.jdeps.MultiReleaseException\n at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)\n at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)\n at jdk.jdeps/com.sun.tools.jdeps.DependencyFinder.waitForTasksCompleted(DependencyFinder.java:267)\n ... 8 more\nCaused by: com.sun.tools.jdeps.MultiReleaseException\n at jdk.jdeps/com.sun.tools.jdeps.VersionHelper.add(VersionHelper.java:62)\n at jdk.jdeps/com.sun.tools.jdeps.ClassFileReader$JarFileReader.readClassFile(ClassFileReader.java:360)\n at jdk.jdeps/com.sun.tools.jdeps.ClassFileReader$JarFileIterator.hasNext(ClassFileReader.java:402)\n at …Run Code Online (Sandbox Code Playgroud) 我希望,有人能够提供帮助,因为我目前仍在努力与Cassandra ATM合作.
我的设置:对于开发,我有一个带有两个节点的最小Cassandra 3.0.4集群(一个在我的工作机器上,一个在VM中).通常只有本地的启动并运行.我使用最新的Java驱动程序版本3.0.0连接到池.
我cassandra.yaml含有rpc_address和listen_address各节点的IP地址.种子是我的主要工作机器.
我的问题:从cqlsh(任何时候)和两个节点都运行起来(来自Java),一切正常.但是一旦我停止VM中的那个,我的基于Spring的应用程序就会在启动期间抛出错误:
2016-03-29 09:05:33.515 | INFO | main | com.datastax.driver.core.NettyUtil :83 | Did not find Netty's native epoll transport in the classpath, defaulting to NIO.
2016-03-29 09:05:34.147 | INFO | main | com.datastax.driver.core.policies.DCAwareRoundRobinPolicy :95 | Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy (if this is incorrect, please provide the correct datacenter name with DCAwareRoundRobinPolicy constructor)
2016-03-29 09:05:34.149 | INFO | main | com.datastax.driver.core.Cluster$Manager :1475 | New Cassandra host /10.20.30.74:9042 added
2016-03-29 09:05:34.149 | …Run Code Online (Sandbox Code Playgroud) java ×2
cassandra ×1
java-17 ×1
java-platform-module-system ×1
javafx ×1
jdeps ×1
nosql ×1
spring ×1
spring-boot ×1