为什么在D盘打成jar包的可执行文件放到C盘就出现 "Could not find the main class. Program will exit."?

解决方案 »

  1.   

    包结构:
    Generate\config\DBConfig.properties
    Generate\lib\Generate.jar
    Generate\lib\msbase.jar
    Generate\lib\mssqlserver.jar
    Generate\lib\msutil.jar
      

  2.   

    classpath的问题,可以参考一下我的方法:
    classpath 一百遍啊一百遍如果在Java程序中引入了外部包,而又不想把其放入jre/lib/ext文件夹下,只是想放在与工程的代码一起的,如:
    Test.java在包com.biao.normal中
    project directory: JavaDemo
     
    JavaDemo/com/biao/normal/Test.java
    JavaDemo/pack.jar
    Test.java要用到pack.jar中的com/biao/pack/PackageDemo.java
     
    怎样写classpath和javac, java来运行Test.java?
    JavaDemo/runandcompile.bat:
    set classpath=.;./pack.jar
    javac com/biao/normal/Test.java
    java com/biao/normal/Test
     
    其中最关键的一点是set classpath=.;./pack.jar中的".;"是必不可少的,少了就非常可能程序能编译成功,但是就是运行不了,原因不明。
     
    在Eclipse中引入外部包:
    project/properties/librarys/add extenal jars...
      

  3.   

    我觉得是你打包的时候你没设定mainclass,程序没入口怎么能找到主函数呢,就没法运行,你看看报的错。
      

  4.   

    classpath的问题,可以参考一下ls的方法:
    classpath 一百零一遍啊一百零一遍如果在Java程序中引入了外部包,而又不想把其放入jre/lib/ext文件夹下,只是想放在与工程的代码一起的,如:
    Test.java在包com.biao.normal中
    project directory: JavaDemo
     
    JavaDemo/com/biao/normal/Test.java
    JavaDemo/pack.jar
    Test.java要用到pack.jar中的com/biao/pack/PackageDemo.java
     
    怎样写classpath和javac, java来运行Test.java?
    JavaDemo/runandcompile.bat:
    set classpath=.;./pack.jar
    javac com/biao/normal/Test.java
    java com/biao/normal/Test
     
    其中最关键的一点是set classpath=.;./pack.jar中的".;"是必不可少的,少了就非常可能程序能编译成功,但是就是运行不了,原因不明。
     
    在Eclipse中引入外部包:
    project/properties/librarys/add extenal jars...
      

  5.   

    尽量不要在cmd中加参数来解决这一类问题,jar已经支持双击打开了,应该尽量吧cp写到Manifest.mf的lib中去,详细的你找个jar打包的文件看看,lib文件夹要随jar一起移动,或者直接打包进jar里。
    Netbeans5.5很好支持了这个,我一般加如扩展jar,它都会拷贝到dist文件夹里。
      

  6.   

    楼上的说的不错!!,是classpath的原因,在环境变量中,把classpath正确的设置好,
    这样就行了
      

  7.   

    打jar包的时候自定义一个.MF文件,将你的main Class写清楚,应该是可以的。