Maven阴影jar抛出异常 [英] Maven shade jar throw exception
问题描述
我有以下异常:
线程main中的异常java.lang.SecurityException:no manifestiest
section签名文件条目
javax / security / cert / CertificateException.class
at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:380)
at sun.security.util.SignatureFileVerifier .processImpl(SignatureFileVerifier.java:231)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.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)
at sun.misc.URLClassPath $ JarLoader $ 2.getInputStream(URLClassPath.java:692)
at sun.misc.Resource.cachedInputStream(Resource 。 java:61)
at 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(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
在java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:301)
在java.lang.ClassLoader.loadClass(ClassLoader.java:247)
找不到主类:com.mainClass。程序将退出。
Exception in thread "main" java.lang.SecurityException: no manifiest section for signature file entry javax/security/cert/CertificateException.class at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:380) at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:231) at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176) at java.util.jar.JarVerifier.processEntry(JarVerifier.java:288) at java.util.jar.JarVerifier.update(JarVerifier.java:199) at java.util.jar.JarFile.initializeVerifier(JarFile.java:323) at java.util.jar.JarFile.getInputStream(JarFile.java:388) at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:692) at sun.misc.Resource.cachedInputStream(Resource.java:61) at sun.misc.Resource.getByteBuffer(Resource.java:144) at java.net.URLClassLoader.defineClass(URLClassLoader.java:256) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: com.mainClass. Program will exit.
我的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>
推荐答案
问题是因为java版本。
我没有注意到,我的新ide自动使用ibm的java,当我将jre更改为sun的java时,它的效果很好:)
The problem is because of java version. I didn't notice that my new ide automatically use ibm's java, when I change the jre to sun's java ,it works well:)
这篇关于Maven阴影jar抛出异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!