我正在使用JDeveloper开发一个大型Oracle ADF Web项目。在开发期间,我在JDeveloper Integrated 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
)在哪里?
他们不配置的文件(据我所知):jdev.conf
,ide.conf
,commEnv.cmd
,{{1} }和startWebLogic.cmd
。我不知道在哪里可以看。我已经到处寻找那些内存选项,无法在任何地方找到它们。
答案 0 :(得分:1)
我发现这不是一个"内存选项"问题。
我发现APPC使用%TMP%文件夹存储一些文字信息
当发生这种长时间的编译时,文件夹%TEMP%\ appc_libraries被锁定。
因此,如果删除%TMP%\ appc_libraries或更改%TMP%var值,则编译将以正常时间完成。
答案 1 :(得分:0)
它位于 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
答案 2 :(得分:0)
转到“项目属性”->单击“编译器”->“进程外”复选框->选中
之后重建项目
现在您将摆脱这个问题