java运行jar包 内存溢出_java - 执行期间修改了JAR文件 - 堆栈内存溢出

这是在我的程序最后一次失败后执行的。 我注意到文件大小已更改,并且我无法再为程序运行Java类:

root@dbs01 ~

$ ls -l lifecycle-0.1-SNAPSHOT.jar

-rw-r--r-- 1 root root 24740243 Jun 4 20:48 lifecycle-0.1-SNAPSHOT.jar

这是在我复制原始JAR文件的新副本之后:

root@dbs01 ~

$ ls -l lifecycle-0.1-SNAPSHOT.jar

-rw-r--r-- 1 root root 24833475 Jun 4 20:55 lifecycle-0.1-SNAPSHOT.jar

然后,我运行Java命令:

root@dbs01 ~

$ java -cp lifecycle-0.1-SNAPSHOT.jar com.abc.lifecycle.cli.LifecycleManagerCli -dm web 0001 lm2-dom0.sfbay.abc.com ZONE /path/to/bits

Jun 4, 2009 8:55:51 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh

INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@186c6b2: display name [org.springframework.context.support.ClassPathXmlApplicationContext@186c6b2]; startup date [Thu Jun 04 20:55:51 GMT+00:00 2009]; root of context hierarchy

Jun 4, 2009 8:55:51 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

INFO: Loading XML bean definitions from class path resource [lifecycle_lite.xml]

Jun 4, 2009 8:55:51 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory

INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@186c6b2]: org.springframework.beans.factory.support.DefaultListableBeanFactory@88e2dd

Jun 4, 2009 8:55:51 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties

INFO: Loading properties file from class path resource [lifecycle.properties]

Jun 4, 2009 8:55:51 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons

INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@88e2dd: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,com.abc.lifecycle.util.LoggingConfigurer#0,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,txAdvice,lifecycleOperations,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,dataSource,hibernateSessionFactory,moduleDefinitionDao,moduleHostDao,moduleInstanceDao,physicalHostDao,serviceDefinitionDao,serviceInstanceDao,numericOffsetDao,virtualHostDao,broker,jmsConnectionFactory,lifecycleMessageQueue,lifecycleMessageXmlConverter,lifecycleMessageListener,lifecycleMessageListenerContainer,jmsTemplate,lifecycleProcessor,statusChecker,lifecycleComponentBuilder,lifecycleManagerInitializer,lifecycleManagerCli]; root of factory hierarchy

Hibernate:

insert

into

SERVICE_INSTANCE

(CREATED_DATE, OPTIMISTIC_LOCKING_VERSION, UPDATED_DATE, MODULE_INSTANCE_ID, serviceDefinition_ENTITY_ID)

values

(?, ?, ?, ?, ?)

Hibernate:

delete

from

NUMERIC_OFFSET

where

ENTITY_ID=?

and OPTIMISTIC_LOCKING_VERSION=?

Exception in thread "lifecycleMessageListenerContainer-1" java.lang.NoClassDefFoundError: org/springframework/jms/support/JmsUtils

at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.clearResources(DefaultMessageListenerContainer.java:1024)

at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:887)

at java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.ClassNotFoundException: org.springframework.jms.support.JmsUtils

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

... 3 more

在这一点上,我用Ctrl-C杀死了它:

^CException in thread "ActiveMQ ShutdownHook" java.lang.NoClassDefFoundError: org/apache/activemq/broker/TransportConnection$3

at org.apache.activemq.broker.TransportConnection.stopAsync(TransportConnection.java:920)

at org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:902)

at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)

at org.apache.activemq.broker.TransportConnector.stop(TransportConnector.java:270)

at org.apache.activemq.util.ServiceSupport.dispose(ServiceSupport.java:43)

at org.apache.activemq.transport.vm.VMTransportFactory.stopped(VMTransportFactory.java:226)

at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:518)

at org.apache.activemq.broker.BrokerService.containerShutdown(BrokerService.java:1754)

at org.apache.activemq.broker.BrokerService$4.run(BrokerService.java:1732)

Caused by: java.lang.ClassNotFoundException: org.apache.activemq.broker.TransportConnection$3

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

... 9 more

然后您可以看到JAR文件已更改:

root@dbs01 ~

$ ls -l lifecycle-0.1-SNAPSHOT.jar

-rw-r--r-- 1 root root 24740243 Jun 4 20:56 lifecycle-0.1-SNAPSHOT.jar

我可以在Maven存储库中找到它抱怨的JmsUtils类和ActiveMQ TransportConnection类,还有什么可以尝试的?

root@dbs01 ~

$ jar tf lifecycle-0.1-SNAPSHOT.jar | grep JmsUtils

org/springframework/jms/support/JmsUtils.class

root@dbs01 ~

$ jar tf lifecycle-0.1-SNAPSHOT.jar | grep TransportConnection

org/apache/activemq/broker/MapTransportConnectionStateRegister.class

org/apache/activemq/broker/SingleTransportConnectionStateRegister.class

org/apache/activemq/broker/TransportConnection$1.class

org/apache/activemq/broker/TransportConnection$2.class

org/apache/activemq/broker/TransportConnection$3.class

org/apache/activemq/broker/TransportConnection.class

org/apache/activemq/broker/TransportConnectionState.class

org/apache/activemq/broker/TransportConnectionStateRegister.class

org/apache/activemq/broker/jmx/ManagedTransportConnection.class

在执行过程中可以修改JAR文件的状态是什么? 如果我从远程计算机上连接了调试器,应该怎么办(我认为没有)?

提前致谢。

- 詹姆士

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值