本帖最后由 yjjcyber 于 2011-02-22 10:59:31 编辑

解决方案 »

  1.   

    你的代码运行环境没有包含log4j的包,因此代码默认使用了jdk中自带的同名包。要解决这个问题很简单,让你的程序使用独立的log4j的jar包就可以了。你可以上网搜索如何使用第三方jar包,网上很多描述。
    如果你是在eclipse中运行的话,只要在project中加入lib文件夹,将log4j的相关jar包放入该目录,然后在eclipse中选择这些jar包后,点击右键菜单 "Build Path" -> "Add to Build Path"即可。
      

  2.   

    首先谢谢你,但是我加入了那个jar了仍然报那个错误,无语了
    Exception in thread "main" java.lang.ExceptionInInitializerError
    at MTest.main(MTest.java:14)
    Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
    at com.sun.org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
    at com.sun.org.apache.commons.beanutils.BeanUtils.<clinit>(BeanUtils.java:111)
    ... 1 more
    Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
    ... 5 more
    Caused by: java.lang.NullPointerException
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:374)
    ... 6 more
      

  3.   

    你检查一下使用了log4j的代码,看他 import的package是log4j的那个还是jdk自带的那个。
    我看你的报错信息,好像是用的com.sun.org.apache.commons.logging.LogConfigurationException
      

  4.   

    你间接的使用了log4j,你的代码依赖于 apache提供的 common-beanutils.jar。然后这个jar又依赖于 apache提供的 common-logging.jar。
    你没有将common-beanutils.jar加入你的类路径,因此你的代码会导入 com.sun.org.apache.commons.beanutils.BeanUtils。它本来应该导入的是 org.apache.commons.beanutils.BeanUtils。你只要加入 common-beanutils.jar 就可以了
      

  5.   

    还是不行,我看了Exception in thread "main" java.lang.ExceptionInInitializerError
    这个错误然后又报了空指针,我把import改成了java.lang.*错误变了
    Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    InvocationTargetException cannot be resolved to a type
    e cannot be resolved at MTest.main(MTest.java:32)
    我import是这样的
    import java.lang.*;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;import com.sun.org.apache.commons.beanutils.BeanUtils;
    彻底无语了
      

  6.   

    意思就是说吧log4j这个jar包remove掉,只要common-beanutils.jar就可以了?
      

  7.   

    终于解决了,我下了一个beanutil的jar,不能用com.sun的
      

  8.   

    加入commons-beanutils.jar 和 commons-logging.jar 两个jar包
    你要引用org.apache.commons.beanutils.BeanUtils;
    而不是com.sun.org.apache.commons.beanutils.BeanUtils;