Maven shade jar抛出异常

Maven shade jar抛出异常,maven,exception,maven-shade-plugin,Maven,Exception,Maven Shade Plugin,我有以下例外: 线程“main”java.lang.SecurityException中的异常:无manifest 签名文件输入部分 javax/security/cert/CertificateException.class 在sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:380)上 在sun.security.util.SignatureFile杠杆器.processImpl(

我有以下例外:

线程“main”java.lang.SecurityException中的异常:无manifest 签名文件输入部分 javax/security/cert/CertificateException.class 在sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:380)上 在sun.security.util.SignatureFile杠杆器.processImpl(SignatureFile杠杆器.java:231)上 在sun.security.util.SignatureFileForever.process(SignatureFileForever.java:176)上 位于java.util.jar.JarVerifier.processEntry(JarVerifier.java:288) 位于java.util.jar.JarVerifier.update(JarVerifier.java:199) 位于java.util.jar.JarFile.initializeVerifier(JarFile.java:323) 位于java.util.jar.JarFile.getInputStream(JarFile.java:388) 位于sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:692) 位于sun.misc.Resource.cachedInputStream(Resource.java:61) 位于sun.misc.Resource.getByteBuffer(Resource.java:144) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:256) 在java.net.URLClassLoader.access$000(URLClassLoader.java:58) 在java.net.URLClassLoader$1.run(URLClassLoader.java:197) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:190) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:306) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:247) 找不到主类:com.mainClass。程序将退出

我的pom:

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                <version>1.5</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <filter>
                            <excludes>
                                <exclude>META-INF/*.SF</exclude>
                                <exclude>META-INF/*.DSA</exclude>
                                <exclude>META-INF/*.RSA</exclude>
                            </excludes>
                        </filter>
                        <transformers>
                            <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>com.mainClass</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>

org.apache.maven.plugins
maven阴影插件
1.5
包裹
阴凉处
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
com.main类

上面stacktrace的最后一行是

找不到主类:com.mainClass


在调用插件之前,可能没有编译类名或类中的输入错误?

出现
SecurityException
,因为您的一个依赖项是已签名的jar。 由于shade插件正在重新打包此jar,因此无效。-><代码>安全异常启动时

要解决这个问题,必须在重新打包依赖项jar时取消其签名。 这可以通过简单地不使用过滤器重新打包使jar签名的文件来实现:


org.apache.maven.plugins

问题在于java版本。
我没有注意到我的新ide自动使用ibm的java,当我将jre更改为sun的java时,它工作得很好:)

对不起,我认为这不是名称的问题。或者它应该以noclassdeffoundexception的形式给出异常。