Stack overflow 使用onejar maven插件创建的签名jar引发stackoverflow异常
我有一个jar,它是使用Stack overflow 使用onejar maven插件创建的签名jar引发stackoverflow异常,stack-overflow,jarsigner,onejar,Stack Overflow,Jarsigner,Onejar,我有一个jar,它是使用onejarmaven插件创建的,用于侦听来自tibco的jms消息并进行相应的处理。它工作正常,但当我使用jarsigner对这个jar进行签名并尝试运行它时,它会抛出以下异常: org.apache.commons.logging.LogConfigurationException: java.lang.StackOverflowError (Caused by java.lang.StackOverflowError) at org.apache.commo
onejarmaven插件创建的,用于侦听来自tibco的jms消息并进行相应的处理。它工作正常,但当我使用jarsigner
对这个jar进行签名并尝试运行它时,它会抛出以下异常:
org.apache.commons.logging.LogConfigurationException: java.lang.StackOverflowError (Caused by java.lang.StackOverflowError)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:538)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:160)
at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:89)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:61)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:136)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.adobe.jobcloud.envoy.client.PushToPrereleaseWorker.main(PushToPrereleaseWorker.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.simontuffs.onejar.Boot.run(Boot.java:340)
at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.StackOverflowError
at com.simontuffs.onejar.OneJarFile.getJarEntry(OneJarFile.java:43)
at java.util.jar.JarFile.getManEntry(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
at java.util.jar.JarFile.maybeInstantiateVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at com.simontuffs.onejar.OneJarFile.getJarEntry(OneJarFile.java:50)
at java.util.jar.JarFile.getManEntry(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
at java.util.jar.JarFile.maybeInstantiateVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at com.simontuffs.onejar.OneJarFile.getJarEntry(OneJarFile.java:50)
at java.util.jar.JarFile.getManEntry(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
org.apache.commons.logging.LogConfigurationException:java.lang.StackOverflower错误(由java.lang.StackOverflower错误引起)
位于org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:538)
位于org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
位于org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
位于org.springframework.context.support.AbstractApplicationContext。(AbstractApplicationContext.java:160)
位于org.springframework.context.support.AbstractRefreshableApplicationContext。(AbstractRefreshableApplicationContext.java:89)
位于org.springframework.context.support.AbstractRefreshableConfigApplicationContext。(AbstractRefreshableConfigApplicationContext.java:59)
位于org.springframework.context.support.AbstractXmlApplicationContext。(AbstractXmlApplicationContext.java:61)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:136)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
位于com.adobe.jobcloud.emission.client.PushToPrereleaseWorker.main(PushToPrereleaseWorker.java:33)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于com.simontuffs.onejar.Boot.run(Boot.java:340)
位于com.simontuffs.onejar.Boot.main(Boot.java:166)
原因:java.lang.StackOverflower错误
位于com.simontuffs.onejar.OneJarFile.getJarEntry(OneJarFile.java:43)
位于java.util.jar.JarFile.getManEntry(未知源)
位于java.util.jar.JarFile.getManifestFromReference(未知源)
位于java.util.jar.JarFile.getManifest(未知源)
位于java.util.jar.JarFile.MaybeinstativeVerifier(未知源)
位于java.util.jar.JarFile.getInputStream(未知源)
位于com.simontuffs.onejar.OneJarFile.getJarEntry(OneJarFile.java:50)
位于java.util.jar.JarFile.getManEntry(未知源)
位于java.util.jar.JarFile.getManifestFromReference(未知源)
位于java.util.jar.JarFile.getManifest(未知源)
位于java.util.jar.JarFile.MaybeinstativeVerifier(未知源)
位于java.util.jar.JarFile.getInputStream(未知源)
位于com.simontuffs.onejar.OneJarFile.getJarEntry(OneJarFile.java:50)
位于java.util.jar.JarFile.getManEntry(未知源)
位于java.util.jar.JarFile.getManifestFromReference(未知源)
位于java.util.jar.JarFile.getManifest(未知源)
另外,如果我使用maven-jarsigner-plugin
对其进行签名,结果完全相同。我对这个问题不知所措,而且自以为是
任何帮助都将不胜感激。您是否尝试增加-Xss JVM选项?首先将其降至4096k,然后将其降低,直到再次出现故障。
使用密码通常需要超过默认堆栈大小。
对于maven jarsigner插件,您可以在linux主目录中编辑.mavenrc文件并添加以下行:
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-6-sun-i586 #(or another)
export M2_HOME=/usr/local/lib/apache-maven/apache-maven-3.0.4
export MAVEN_OPTS="-Xss4096k -XX:MaxPermSize=128m -Xmx384m"
我不知道如何在windows下执行此操作,但肯定有类似的解决方案()刚刚遇到同样的问题。运气好吗?