Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stack overflow 使用onejar maven插件创建的签名jar引发stackoverflow异常_Stack Overflow_Jarsigner_Onejar - Fatal编程技术网

Stack overflow 使用onejar maven插件创建的签名jar引发stackoverflow异常

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

我有一个jar,它是使用
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下执行此操作,但肯定有类似的解决方案()

刚刚遇到同样的问题。运气好吗?