当我在Windows上使用gradle构建示例corda项目时(gradlew.bat deployNodes) 我在log4j中看到有关DELETE命令的错误:
2019-10-28 16:30:47,207主要错误删除包含无效的属性“ IfFileName”,“ IfLastModified” 2019-10-28 16:30:47,213主要错误缺少删除条件:不支持无条件删除 2019-10-28 16:30:47主要错误无法为元素Delete调用类org.apache.logging.log4j.core.appender.rolling.action.DeleteAction中的工厂方法:java.lang.IllegalArgume ntException:无条件删除不支持java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498) 在org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:964) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:904) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:896) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:896) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:896) 在org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:514) 在org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:238) 在org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:250) 在org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:548) 在org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:620) 在org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:637) 在org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231) 在org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76) 在org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) 在org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) 在org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) 在org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121) 在org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43) 在org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46) 在org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29) 在org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) 在org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) 在net.corda.core.utilities.KotlinUtilsKt.contextLogger(KotlinUtils.kt:42) 在net.corda.cliutils.CliWrapperBase $ Companion $ logger $ 2.invoke(CordaCliWrapper.kt:108) 在net.corda.cliutils.CliWrapperBase $ Companion $ logger $ 2.invoke(CordaCliWrapper.kt:107) 在kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) 在net.corda.cliutils.CliWrapperBase $ Companion.getLogger(CordaCliWrapper.kt:65535)中 在net.corda.cliutils.CliWrapperBase $ Companion.access $ getLogger $ p(CordaCliWrapper.kt:107)中 在net.corda.cliutils.CliWrapperBase.call(CordaCliWrapper.kt:142) 在net.corda.cliutils.CliWrapperBase.call(CordaCliWrapper.kt:106) 在picocli.CommandLine.execute(CommandLine.java:1173) 在picocli.CommandLine.access $ 800(CommandLine.java:141) 在picocli.CommandLine $ RunLast.handle(CommandLine.java:1367) 在picocli.CommandLine $ RunLast.handle(CommandLine.java:1335) 在picocli.CommandLine $ AbstractParseResultHandler.handleParseResult(CommandLine.java:1243) 在picocli.CommandLine.parseWithHandlers(CommandLine.java:1526) 在net.corda.cliutils.CordaCliWrapperKt.start(CordaCliWrapper.kt:73) 在net.corda.node.Corda.main(Corda.kt:13) 原因:java.lang.IllegalArgumentException:不支持无条件删除 在org.apache.logging.log4j.core.appender.rolling.action.DeleteAction。(DeleteAction.java:71) 在org.apache.logging.log4j.core.appender.rolling.action.DeleteAction.createDeleteAction(DeleteAction.java:212) ...还有43
2019-10-28 16:30:47,606主要错误为DefaultRolloverStrategy中的Delete返回的空对象。 2019-10-28 16:30:47,736主要错误删除包含无效的属性“ IfFileName”,“ IfLastModified” 2019-10-28 16:30:47,737主要错误缺少删除条件:不支持无条件删除 2019-10-28 16:30:47主要错误无法调用类org.apache.logging.log4j.core.appender.rolling.action.DeleteAction中的工厂方法以删除元素:java.lang.IllegalArgume ntException:无条件删除不支持java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498) 在org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:964) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:904) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:896) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:896) 在org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:896) 在org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:514) 在org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:238) 在org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:250) 在org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:548) 在org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:620) 在org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:637) 在org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231) 在org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76) 在org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) 在org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) 在org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) 在org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121) 在org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43) 在org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46) 在org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29) 在org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) 在org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) 在net.corda.core.utilities.KotlinUtilsKt.contextLogger(KotlinUtils.kt:42) 在net.corda.cliutils.CliWrapperBase $ Companion $ logger $ 2.invoke(CordaCliWrapper.kt:108) 在net.corda.cliutils.CliWrapperBase $ Companion $ logger $ 2.invoke(CordaCliWrapper.kt:107) 在kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) 在net.corda.cliutils.CliWrapperBase $ Companion.getLogger(CordaCliWrapper.kt:65535)中 在net.corda.cliutils.CliWrapperBase $ Companion.access $ getLogger $ p(CordaCliWrapper.kt:107)中 在net.corda.cliutils.CliWrapperBase.call(CordaCliWrapper.kt:142) 在net.corda.cliutils.CliWrapperBase.call(CordaCliWrapper.kt:106) 在picocli.CommandLine.execute(CommandLine.java:1173) 在picocli.CommandLine.access $ 800(CommandLine.java:141) 在picocli.CommandLine $ RunLast.handle(CommandLine.java:1367) 在picocli.CommandLine $ RunLast.handle(CommandLine.java:1335) 在picocli.CommandLine $ AbstractParseResultHandler.handleParseResult(CommandLine.java:1243) 在picocli.CommandLine.parseWithHandlers(CommandLine.java:1526) 在net.corda.cliutils.CordaCliWrapperKt.start(CordaCliWrapper.kt:73) 在net.corda.node.Corda.main(Corda.kt:13) 原因:java.lang.IllegalArgumentException:不支持无条件删除 在org.apache.logging.log4j.core.appender.rolling.action.DeleteAction。(DeleteAction.java:71) 在org.apache.logging.log4j.core.appender.rolling.action.DeleteAction.createDeleteAction(DeleteAction.java:212) ...还有43
我得到了corda样品的最新版本。 (来自master分支)。我在其他分支机构遇到相同的问题。 我的jdk版本是1.8.0_212。 我使用了cordapp-examples项目
我该如何解决这个问题?
答案 0 :(得分:0)
在我看来,您似乎是从Corda内部版本指定的其他位置提取JAR文件。
示例的默认分支为release-V4
,这就是我正在使用的分支。我运行以下命令,效果很好:
git clone https://github.com/corda/samples
cd cordapp-example
gradlew deployNodes
我将通过运行以下命令来检查您的classpath变量是否未设置(因为这将导致在运行Corda时在这些目录中包含其他JAR文件):
echo %CLASSPATH%
另外,从命令行运行:
java -version
where java
要确保您选择的Java版本 是 。
答案 1 :(得分:0)
我有一个与log4j相关的类似问题:
log4j2错误无法调用类RollingFileApender中的工厂方法
生成节点信息文件时出错
要解决此问题(在Windows上),我采取了以下步骤:
./gradlew deployNodes