这个问题困扰我一段时间了,诚心请教blogjava里各位高手。具体问题描述如下:
项目是由很多子模块组成,为了全于管理发布,所有过程都由ant编译、打包来完成,而对于新的需求研发,是能过IDE(Ecslipse)来完成。问题是在能过Ant全量编译后,再导入到IDE里来,这样可以在IDE下通过集成Weblogic正常跑起来,为了便于通过eclipse来进行调试,就将eclipse的自动编译功能打开,并将其生成class的路径加到了weblogic的startWeblogic.cmd中做为类路径启动(这个类路径我放在最前面,为了保证刚刚编译过的类第一时间生效)。这样项目运行时class文件就有了二个来源一个是由ant生成的,一个是eclipse生成的。再启动,Eclipse下集成的Weblogic 启动到最后,直接报错(也就是说若不把eclipse自动编译所生成的类文件路径加入到startWeblogic.cmd文件中,就可以正常启动),在贴错误日志前,我先说一下我的环境变量设置及版本:
我电脑里装有weblogic8, weblogic9, JDK1.4, JDK1.5,在Eclipse中我显式地将JDK配置成了1.4,且与我下面变量中上的Java_home是同一个JDK。我的环境变量如下:
E:\eclipsedev>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
ant_home=E:\tool\ant
APPDATA=C:\Documents and Settings\Administrator\Application Data
BEA_HOME=D:\bea922
classpath=.;D:\bea\jdk142_04\lib\tools.jar;D:\bea\jdk142_04\lib\dt.jar;
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Common Files
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator
JAVA_HOME=D:\bea\jdk142_04
JSERV=D:\oracle\ora92/Apache/Jserv/conf
LOGONSERVER=\\LGGAD04-DC
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=D:\bea\jdk142_04\bin;E:\tool\ant\bin;E:\tool\Unixe ON Dos\Base\UnxUtils\usr\local\wbin;D:\oracl
e\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\s
ystem32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\SecureCRT\;C:\Program Files\cvsnt;D:\TortoiseSVN\bin;
C:\Program Files\IDM Computer Solutions\UltraEdit\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f0d
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
unix_home=E:\tool\Unixe ON Dos\Base\UnxUtils\usr\local\wbin
USERPROFILE=C:\Documents and Settings\Administrator
windir=C:\WINDOWS
在IDE中集成启动Weblogic8时,最后报错的日志如下:
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x80C14B4
Function=JVM_RegisterPerfMethods+0x1297D
Library=D:\bea\JDK142~1\jre\bin\client\jvm.dll
Current Java thread:
at java.lang.Class.getName(Native Method)
at xxx.common.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:208)
at xxx.common.logging.xxxLogFactory.getLog(xxxLogFactory.java:351)
at xxx.common.xxxHttpSessionListener.<init>(xxxHttpSessionListener.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at weblogic.servlet.internal.WebAppServletContext.registerEventListener(WebAppServletContext.java:2837)
- locked <0x11f7e370> (a weblogic.servlet.internal.WebAppServletContext)
at weblogic.servlet.internal.WebAppServletContext.activateFromDescriptors(WebAppServletContext.java:2377)
at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:5700)
at weblogic.servlet.internal.WebAppServletContext.setActive(WebAppServletContext.java:5678)
at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:846)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3274)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2173)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2146)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2094)
at weblogic.management.deploy.slave.SlaveDeployer$Application.setActivation(SlaveDeployer.java:2976)
at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForAllApplications(SlaveDeployer.java:1751)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:359)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
Dynamic libraries:
0x00400000 - 0x00406000 D:\bea\JDK142~1\bin\java.exe
0x7C920000 - 0x7C9B6000 C:\WINDOWS\system32\ntdll.dll
0x7C800000 - 0x7C91D000 C:\WINDOWS\system32\kernel32.dll
0x77DA0000 - 0x77E49000 C:\WINDOWS\system32\ADVAPI32.dll
0x77E50000 - 0x77EE1000 C:\WINDOWS\system32\RPCRT4.dll
0x77BE0000 - 0x77C38000 C:\WINDOWS\system32\MSVCRT.dll
0x08000000 - 0x08138000 D:\bea\JDK142~1\jre\bin\client\jvm.dll
0x77D10000 - 0x77DA0000 C:\WINDOWS\system32\USER32.dll
0x77EF0000 - 0x77F38000 C:\WINDOWS\system32\GDI32.dll
0x76B10000 - 0x76B3A000 C:\WINDOWS\system32\WINMM.dll
0x76300000 - 0x7631D000 C:\WINDOWS\system32\IMM32.DLL
0x62C20000 - 0x62C29000 C:\WINDOWS\system32\LPK.DLL
0x73FA0000 - 0x7400B000 C:\WINDOWS\system32\USP10.dll
0x10000000 - 0x10007000 D:\bea\JDK142~1\jre\bin\hpi.dll
0x008A0000 - 0x008AE000 D:\bea\JDK142~1\jre\bin\verify.dll
0x008B0000 - 0x008C9000 D:\bea\JDK142~1\jre\bin\java.dll
0x008D0000 - 0x008DD000 D:\bea\JDK142~1\jre\bin\zip.dll
0x02C80000 - 0x02C9C000 D:\bea\JDK142~1\jre\bin\jdwp.dll
0x06CA0000 - 0x06CA5000 D:\bea\JDK142~1\jre\bin\dt_socket.dll
0x71A20000 - 0x71A37000 C:\WINDOWS\system32\ws2_32.dll
0x71A10000 - 0x71A18000 C:\WINDOWS\system32\WS2HELP.dll
0x719C0000 - 0x719FE000 C:\WINDOWS\system32\mswsock.dll
0x60FD0000 - 0x61025000 C:\WINDOWS\system32\hnetcfg.dll
0x71A00000 - 0x71A08000 C:\WINDOWS\System32\wshtcpip.dll
0x07110000 - 0x0711F000 D:\bea\jdk142_04\jre\bin\net.dll
0x76EF0000 - 0x76F17000 C:\WINDOWS\system32\DNSAPI.dll
0x76F80000 - 0x76F88000 C:\WINDOWS\System32\winrnr.dll
0x76F30000 - 0x76F5C000 C:\WINDOWS\system32\WLDAP32.dll
0x76F90000 - 0x76F96000 C:\WINDOWS\system32\rasadhlp.dll
0x07230000 - 0x07238000 D:\bea\jdk142_04\jre\bin\nio.dll
0x07FD0000 - 0x07FD6000 D:\bea\jdk142_04\jre\bin\ioser12.dll
0x07FE0000 - 0x07FE5000 D:\bea\weblogic81\server\bin\stackdump.dll
0x76C60000 - 0x76C88000 C:\WINDOWS\system32\imagehlp.dll
0x68D60000 - 0x68E01000 C:\WINDOWS\system32\DBGHELP.dll
0x77BD0000 - 0x77BD8000 C:\WINDOWS\system32\VERSION.dll
0x76BC0000 - 0x76BCB000 C:\WINDOWS\system32\PSAPI.DLL
Heap at VM Abort:
Heap
def new generation total 3072K, used 2730K [0x10010000, 0x10360000, 0x10f70000)
eden space 2752K, 95% used [0x10010000, 0x1029f158, 0x102c0000)
from space 320K, 34% used [0x10310000, 0x1032b880, 0x10360000)
to space 320K, 0% used [0x102c0000, 0x102c0000, 0x10310000)
tenured generation total 40196K, used 26807K [0x10f70000, 0x136b1000, 0x1c810000)
the space 40196K, 66% used [0x10f70000, 0x1299dc50, 0x1299de00, 0x136b1000)
compacting perm gen total 35840K, used 35164K [0x1c810000, 0x1eb10000, 0x24810000)
the space 35840K, 98% used [0x1c810000, 0x1ea672b0, 0x1ea67400, 0x1eb10000)
Local Time = Thu Oct 15 10:53:07 2009
Elapsed Time = 52
#
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002EF
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_04-b05 mixed mode)
#
另外ant时的JDK版本如下:
C:\Documents and Settings\Administrator>java -version
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
各位是否碰到过同样的现象? 若还有什么信息没有贴出来,请顶一下,我马上回复。
谢谢!