我开始玩GridGain了(恭喜你开源了!)
我正在尝试将它嵌入到另一个应用程序中,因此我需要使用JCL日志记录,而不是使用Log4j。
我的简单代码如下(是的,它是groovy代码):
def cfg = new GridConfiguration()
cfg.setGridLogger( new GridJclLogger() )
cfg.setLifecycleBeans(new DaemonLifecycleBean())
def grid = GridGain.start(cfg); 但下面我有个例外。如果我配置JCL日志记录,它为什么会抱怨缺少Log4j?
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/varia/LevelRangeFilter
at org.gridgain.grid.kernal.GridKernal.createNodeAttributes(GridKernal.java:1187) ~[gridgain-platform-6.0.2.jar:na]
at org.gridgain.grid.kernal.GridKernal.start(GridKernal.java:608) ~[gridgain-platform-6.0.2.jar:na]
at org.gridgain.grid.kernal.GridGainEx$GridNamedInstance.start0(GridGainEx.java:1828) ~[gridgain-platform-6.0.2.jar:na]
... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.varia.LevelRangeFilter
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_51]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_51]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_51]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_51]发布于 2014-04-05 22:27:10
目前,GridGain对log4j有显式依赖,因此需要将log4j类保留在节点类路径中。
在即将发布的版本中将删除此依赖项,然后您将能够使用JCL记录器运行节点,而不需要类路径中的log4j。
https://stackoverflow.com/questions/22868832
复制相似问题