我正在使用JDeveloper进行大型Oracle ADF Web项目。在开发期间,我在JDeveloper集成Weblogic Server中运行和测试它。当我将项目部署到服务器时,它将构建Bean,JSP等,并最终在消息日志中输出以下消息:
[11:30:51 AM] Appc compilation begin
Compiling out of process...
D:\Java\jdk1.6.0_45\jre\bin\javaw.exe -Xms128m -Xmx512m -Xverify:none -client -classpath D:\Java\jdk1.6.0_45\lib\tools.jar;D:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar -Dweblogic.jsp.diagnosticWithAbsolutePath=true -Dweblogic.classloader.noJarSigners=true weblogic.appc "@C:\Users\nb14588\AppData\Local\Temp\appcCommandList8852570431803898608.txt"
[通常,在此过程(Appc编译)中,编译器具有java.lang.OutOfMemoryError
(出现在编译器日志中)。同时,如果我检查Windows任务管理器,jawaw.exe
appc编译过程将消耗30-40%的CPU,但显然什么也没做。它似乎处于死锁状态,只有在您手动将其杀死时才会消失。
我的问题是为此-Xms128m -Xmx512m
进程配置的那些内存选项(jawaw.exe
)?
据我所知,这些文件的配置是[[not]:jdev.conf
,ide.conf
,commEnv.cmd
,startWebLogic.cmd
和setDomainEnv.cmd
。我不知道还能去哪里。我到处都是这些内存选项,在任何地方都找不到。
因此,如果您删除%TMP%\ appc_libraries或更改%TMP%var值,编译将在正常时间完成。
setDomainEnv.cmd内部,其外观类似于以下内容:
set XMS_SUN_64BIT=256
set XMS_SUN_32BIT=256
set XMX_SUN_64BIT=512
set XMX_SUN_32BIT=512
set XMS_JROCKIT_64BIT=256
set XMS_JROCKIT_32BIT=256
set XMX_JROCKIT_64BIT=512
set XMX_JROCKIT_32BIT=512
之后重建您的项目
现在您将摆脱这个问题