当前位置: 首页 > 知识库问答 >
问题:

构建Corda示例项目时出现log4j错误

梁和颂
2023-03-14

当我在windows上使用gradle构建示例corda项目(gradlew.bat deployNodes)时,我在log4j中看到了关于删除命令的错误:

2019-10-28 16:30:47207主要错误删除包含无效属性“IfFileName”、“IfLastModified”2019-11-28 16-30:47213主要错误缺少删除条件:不支持无条件删除2019-12-28 16:30:47217主要错误无法调用类org.apache.logging.log4j.core.appender.rolling.action中的工厂方法。元素Delete的DeleteAction:java.lang.IllegalArgume ntException:java.lang.reflect不支持无条件删除。sun.reflect.NativeMethodAccessorImpl上的InvocationTargetException。位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetodAccessorimpl.java:62)的invoke0(本机方法),位于sun.reflect.DelegatingMethodAccessirImpl.invoke(delegatingmethodAccessor.java:43),位于org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.builder(PluginBuilder.java:136),位于org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:964)位于org.apach.loggin.log4j.core.config.AbtractConfiguration.createConfiguration(Abstract Configuration.java:904)位于org.apache.logging.log4j.core.config.AbstractConfiguration.CreateConfigure(AbstractConfiguration.java:896)位于org.apach.loggin.logging.log4j.core.config.Abstract Configuration.createConfiguration(AbstracConfiguration.java:1896)位于org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:238)在org.apach.loggin.log4j.core.config.AbtractConfiguration.start(Abstract Configuration.java:250)在org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:548)在org.apache.logging.log4j.core.LoggerContext.重新配置(LoggerContext.java:620)在org.apache.logging.log4j.core.LoggerContext.reconfigure(loggercontent.java:637)位于org.apach.loggin.log4j.core.LoggerContext.start(LoggerContext.java:231),位于org.apache.logging.log4j.core.async.AsyncLoggerContext.start(asyncLoggeContext.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.apach.loggin.log4j.LogManager.getContext(LogManager.java:194)位于org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContent(AbstractLoggerAdapter.java:121)位于orgorg.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)位于org.apach.loggin.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29),位于org.slf4.loggerFactorys.getLoggger(LoggerFactory.java:358),位于org.slf4j.LoggerFactory.getLogger(loggerfactor.java:383),位于net.corda.core.utilities.KotlinUtilsKt.contextLogger(KotlinUtils.kt:42),位于net.corda.cliutils.CliWrapperBase$Companion$logger$2.invoke(CordaCliWrapper.kt:108)在net.corba.cliutil.cliwraperbase$Companion$logger$2.在kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)在net.corda.cliutils.CliWrapperBase$companient$logger$2.在net.corda.clitils.CliWrapperBase$company.getLogger(CordaCliWrapper.kt:65535)在net.corda.cliutils.Cliwrapper.CliwraperBase$Companion.access$getLogger$p.kt:107)在net.corda.cliutils.CliWrapperBase.call(CordaCliWrapper.kt:142)和在picocli.CommandLine.CommandLine.execute(CommandLine.java:1173)和在picocli.CommandLine.访问$800(CommandLine.java:141)和在picocli.命令行$RunLast.handle(command line.java:1367)和在picocli.CommandLine$AbstractParseResultHandler.HandleParserResult(CommandLine.java:1243)位于net.corda.cliutils.CordalIwrapPerkt.start(cordalIwRapper.kt:73)的net.corda.node.corda.main(corda.kt:13)的picocli.CommandLine.parseWithHandlers(CommandLine.java:1526)由以下原因引起:java.lang.IllegalArgumentException:不支持无条件删除org.apache.logging.log4j.core.appender.rolling.action.DeleteAction.(deleteAaction.java:71)位于org.apach.loggin.log4j.core.appender.rolling.action.DeleteAction.createDeleteAction(deleteAAction.java:212)…43更多

2019-10-28 16:30:47,606主要错误DefaultRolloverStrategy中删除操作返回空对象。2019-10-28 16:30:47,736主要错误删除包含无效属性“IfFileName”, " iflastmedified " 2019-10-28 16:30:47737主要错误遗漏删除条件:不支持无条件删除2019-10-28 16:30:47739主要错误无法调用org . Apache . log4j . core . appender . rolling . action . Delete action类中的工厂方法进行元素删除:Java . lang . illegalargume ntException:无条件删除不支持Java . lang . reflect . invocationtargetexception at sun . reflect synchronizedlazyimpl . getvalue(lazy JVM . kt:74)at net . corda . cliutils . cliwrapperbase $ companion . get logger(corda cliwrapper . kt:65535)at net . corda . cliwrapper base $ companion . access $ get logger $ p(corda cliwrapper . kt:107)at net . corda . cliutils . cliwrapper base . call(corda cliwrapper . kt:142)at net . corda . cliutilspicocli中的command line . execute(command line . Java:1173)。command line . access 800美元(CommandLine.java:141)在picocli。picocli中的命令行$run last . handle(command line . Java:1367)。picocli中的命令行$run last . handle(command line . Java:1335)。picocli中的命令行$abstractparseresulthandler . handleparseresult(command line . Java:1243)。位于net . corda . node . corda . main(corda . kt:13)的net . corda . cliutils . cordacliwrapperkt . start(cordacliwrapper . kt:73)的command line . parsewithhandlers(command line . Java:1526)原因:Java . lang . illegalargumentexception:org . Apache . logging . log4j . core . appender . rolling . action . Delete action .(Delete action . Java:71)的...43更

我得到了最新的corda样品。(从主分支)。我在其他分支中遇到了同样的问题。我的jdk版本是1.8.0_212。我用了 cordapp-example 项目

我该如何解决这个问题?

共有3个答案

段恩
2023-03-14

问题是关于我的计算机的区域设置。

通过定义环境变量

JAVA_TOOL_OPTIONS=-Duser.language=en -Duser.country=US  -Duser.region=US -Dfile.encoding=UTF-8 -Duser.variant=US

我解决了这个问题。

感谢大家的关注。

郎正初
2023-03-14

我有一个与log4j相关的类似问题:

log4j2错误无法调用类RollingFileApender中的工厂方法

生成节点信息文件时出错

为了解决这个问题(在windows上),我采取了以下步骤:

  1. 右键单击MyPC
  2. 单击高级系统设置
  3. 单击环境变量
  4. 将JAVA_HOME更改为指向IntelliJ for corDapp中使用的相同jdk目录。(我将我的版本从OpenJDK\jdk-13.0.1更改为C:\Program Files\Java\jdk1.8.0_231)
  5. 重新启动IntelliJ并重新运行<code>/gradlew部署节点
黎震博
2023-03-14

在我看来,您似乎是从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版本是您正在学习的版本。

 类似资料:
  • 我是Hilt的新手,我正在努力在我的多模块应用程序中实现它。经过无限次尝试,构建错误从“错误a”到“错误b”,然后是“错误c”等等。 这就是我如何开始在我的多模块应用程序中实现希尔特: 应用程序build.gradle: 考虑到这一点,我必须提到我有一个AppSettings类,在那里我存储了所有的应用程序配置(现在我已经创建了AppSettings1只是为了测试),开始时我试图将该类注入到主活动

  • 日志为: 构建失败 /Users/xxx/sample/build。xml:114:找不到/Users/xxx/Library/Android/libray/androd/sdk/tools/ant/build。从/Users/xxx/sample/build.xml导入的xml 我可以确认sdkdir是对的。 我发现中没有ant目录。 我发现有人说是自动生成的。如何在tools/ant中制作这个

  • 当我打开我的项目并且Eclipse尝试构建它时,我收到了这个错误:在“构建工作区”期间发生了一个内部错误。java.lang.StackOverflowError. 它仍然完成构建(我想),我可以继续。但是我收到一个“内部错误”弹出窗口,说发生了堆栈溢出,建议我退出工作台。我只是忽略了弹出窗口。 以下是我的.log输出: 我该怎么做才能避免这个问题?

  • 我正在使用eclipse、m2eclipse插件和maven创建一个新的maven项目,遵循以下步骤,http://o7planning.org/en/10101/install-maven-into-eclipse 但是,当创建一个新的maven项目时,没有JRE系统库,也没有maven库。只有如下所示的src、target和pom.xml。这正常吗?如果没有,我该如何避免呢?谢谢! 单击以获取