我用fatjar打的包,结果打出来的包显示没有主类。运行我打的包出现如下情况,请高手指点:
D:\test>java -jar yinshua.jar
Exception in thread "main" java.lang.SecurityException: invalid SHA1 signature f
ile digest for com/microsoft/sqlserver/jdbc/SQLServerException.class
        at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)        at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
        at sun.security.util.SignatureFileVerifier.process(Unknown Source)
        at java.util.jar.JarVerifier.processEntry(Unknown Source)
        at java.util.jar.JarVerifier.update(Unknown Source)
        at java.util.jar.JarFile.initializeVerifier(Unknown Source)
        at java.util.jar.JarFile.getInputStream(Unknown Source)
        at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
        at sun.misc.Resource.cachedInputStream(Unknown Source)
        at sun.misc.Resource.getByteBuffer(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

解决方案 »

  1.   

    在jar的配置文件的 
    Class-Path 里面增加需要的jar包
      

  2.   

    classpath.;E:\JDK1.6.0\lib\tools.jar;E:\JDK1.6.0\lib\dt.jar;E:\Tomcat 5.5\common\lib\msbase.jar;E:\Tomcat 5.5\common\lib\mssqlserver.jar;E:\Tomcat 5.5\common\lib\msutil.jar;E:\Tomcat 5.5\common\lib\jtds1.2.2.jar;E:\Tomcat 5.5\common\lib\mysqlconn.jar;E:\Tomcat 5.5\common\lib\ojdbc14.jar
      

  3.   

    java.lang.SecurityException: invalid SHA1 signature 
    file digest for com/microsoft/sqlserver/jdbc/SQLServerException.class 
    这很明显了
      

  4.   

    问题:Exception in thread "main" java.lang.SecurityException: invalid SHA1 signature file digest for com/microsoft/sqlserver/jdbc/SQLServerException.class解决方法:Mircosoft had signed the jar file thru their own tools. So when you try to use the jar file directly or signing by your own tool and using on your JNLP will give this problem.To solve this problem steps to be followed.1. Extract the sqljdbc.jar or sqljdbc4.jar file(解压缩sqljdbc4.jar)
    2. Goto META-INF Folder(进入META-INF文件夹)
    3. Open MANIFEST.MF and delete all the lines other than first line and save it(打开MANIFEST.MF文件,删除第一行之外的所有内容并保存)
    4. Delete other files which exist in the same folder(删除该目录内其他所有文件及文件夹)
    5. Finally once again make a new jar file including *com* and *META-INF* folder as sqljdbc.jar or sqljdbc4.jar(重新将com目录和META-INF目录打包为 sqljdbc.jar或sqljdbc4.jar)原文链接:http://social.msdn.microsoft.com/forums/en-US/sqldataaccess/thread/ab35688e-ca33-423e-a9bd-54e30fcb5091/
    我之前也是这个问题,用了上面的方法解决了哈,楼主可以试下的哈。