我根据自已写的应用(主要功能是解析.xml文件,然后往Server发送文件)精简JRE----将%JAVA_HOME%\jre下的所有内容复制到我的目录d:\Greenjre\),我的*.class也在此目录。之后将d:\Greenjre\lib下的*.jar删除,只留下了charsets.jar(这个包我知道解析汉字时有用)。执行网上下载的一个程序,得到一个rt.jar(精简后的),将此rt.jar复制到d:\Greenjre\lib下,覆盖原来的rt.jar。测试通不过!!各位给看一下什么原因??是缺什么类文件呀!!!??? 以下是运行过程: 
d:\>cd Greenjre 
D:\Greenjre>.\bin\java -verbose client>1.txt (1.txt中最后几行的内容:D:\Greenjre\lib\rt.jar] 
[Loaded org.xml.sax.SAXNotSupportedException from D:\Greenjre\lib\rt.jar] 
[Loaded org.xml.sax.SAXParseException from D:\Greenjre\lib\rt.jar] 
[Loaded java.net.MalformedURLException from D:\Greenjre\lib\rt.jar] 
[Loaded java.lang.Shutdown from D:\Greenjre\lib\rt.jar] 
[Loaded java.lang.Shutdown$Lock from D:\Greenjre\lib\rt.jar]) 
提 示: 
Exception in thread "main" java.lang.NoClassDefFoundError: java/util/MissingReso 
urceException 
        at java.util.ResourceBundle.throwMissingResourceException(Unknown Source 

        at java.util.ResourceBundle.getBundleImpl(Unknown Source) 
        at java.util.ResourceBundle.getBundle(Unknown Source) 
        at com.sun.org.apache.xerces.internal.util.SAXMessageFormatter.formatMes 
sage(Unknown Source) 
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.setPrope 
rty(Unknown Source) 
        at org.jdom.input.SAXBuilder.configureParser(SAXBuilder.java:540) 
        at org.jdom.input.SAXBuilder.build(SAXBuilder.java:357) 
        at org.jdom.input.SAXBuilder.build(SAXBuilder.java:724) 
        at org.jdom.input.SAXBuilder.build(SAXBuilder.java:703) 
        at client.getDevice(client.java:24) 
        at client.main(client.java:52) 

解决方案 »

  1.   

    greenjvm 提供的工具不一定会得到你所需要的最小rt.jar有时会丢失几个类你需要手动从原始jvm的rt.jar中把这个类找出来,加入精简的rt.jar中
      

  2.   

    你缺的不就是这一个类么  java.util.MissingResourceException 这不就是rt.jar里的一个类么,按照相同的路径复制到精简版rt.jar里就行了
      

  3.   

    新问题出现了 加入MissingResourceException.class类之后提示:D:\Greenjre>.\bin\java -verbose client>1.txt
    java.util.MissingResourceException: Can't find bundle for base name com.sun.org.
    apache.xerces.internal.impl.msg.SAXMessages, locale zh_CN
            at java.util.ResourceBundle.throwMissingResourceException(Unknown Source
    )
            at java.util.ResourceBundle.getBundleImpl(Unknown Source)
            at java.util.ResourceBundle.getBundle(Unknown Source)
            at com.sun.org.apache.xerces.internal.util.SAXMessageFormatter.formatMes
    sage(Unknown Source)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.setPrope
    rty(Unknown Source)
            at org.jdom.input.SAXBuilder.configureParser(SAXBuilder.java:540)
            at org.jdom.input.SAXBuilder.build(SAXBuilder.java:357)
            at org.jdom.input.SAXBuilder.build(SAXBuilder.java:724)
            at org.jdom.input.SAXBuilder.build(SAXBuilder.java:703)
            at client.getDevice(client.java:24)
            at client.main(client.java:52)
    Exception in thread "main" java.lang.NoClassDefFoundError: java/util/Calendar
            at client.getDate(client.java:13)
            at client.main(client.java:53)D:\Greenjre>