posted by 시드라엘 2015. 10. 23. 14:02

제목 : [ Eclipse ] - Unhandled event loop exception



설명 : 

이클립스에서 왼쪽 패키지 익스플로러와 우측 소스 부분을 왔다갔다 하면 발생하는 문제.

아래와 같은 오류가 발생하면서 이클립스 종료할꺼냐고 물어봄

org.eclipse.swt.SWTError: No more handles

at org.eclipse.swt.SWT.error(SWT.java:4517)

at org.eclipse.swt.SWT.error(SWT.java:4406)

at org.eclipse.swt.SWT.error(SWT.java:4377)

at org.eclipse.swt.widgets.Widget.error(Widget.java:482)

at org.eclipse.swt.widgets.Control.createHandle(Control.java:703)

at org.eclipse.swt.widgets.Label.createHandle(Label.java:199)

at org.eclipse.swt.widgets.Control.createWidget(Control.java:743)

at org.eclipse.swt.widgets.Control.<init>(Control.java:111)

at org.eclipse.swt.widgets.Label.<init>(Label.java:101)

at org.eclipse.ui.texteditor.StatusLineContributionItem.fill(StatusLineContributionItem.java:182)

at org.eclipse.jface.action.SubContributionItem.fill(SubContributionItem.java:58)

at org.eclipse.jface.action.StatusLineManager.update(StatusLineManager.java:290)

at org.eclipse.ui.internal.WorkbenchWindow.updateActionBars(WorkbenchWindow.java:2319)

at org.eclipse.ui.internal.WWinActionBars.updateActionBars(WWinActionBars.java:122)

at org.eclipse.ui.SubActionBars.updateActionBars(SubActionBars.java:622)

at org.eclipse.wst.xml.ui.internal.tabletree.SourceEditorActionBarContributor.setActivePage(SourceEditorActionBarContributor.java:200)

at org.eclipse.ui.part.MultiPageEditorActionBarContributor.setActiveEditor(MultiPageEditorActionBarContributor.java:51)

at org.eclipse.wst.xml.ui.internal.tabletree.SourceEditorActionBarContributor.setActiveEditor(SourceEditorActionBarContributor.java:172)

at org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorActionBarContributor.setActiveEditor(XMLMultiPageEditorActionBarContributor.java:90)

at org.eclipse.ui.internal.EditorActionBars.partChanged(EditorActionBars.java:341)

at org.eclipse.ui.internal.WorkbenchPage.updateActivations(WorkbenchPage.java:301)

at org.eclipse.ui.internal.WorkbenchPage.access$18(WorkbenchPage.java:283)

at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:201)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:245)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:242)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:711)

at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:639)

at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:106)

at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.handleEvent(ContributedPartRenderer.java:63)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1122)

at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1481)

at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2377)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4720)

at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)

at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1633)

at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2117)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)

at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544)

at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:86)

at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)

at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)

at org.eclipse.swt.widgets.Display.windowProc(Display.java:5063)

at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)

at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:3141)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)

at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)

at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)

at org.eclipse.equinox.launcher.Main.run(Main.java:1515)




사용법 및 예제 : 

1. 이클립스 사이트에 해당 버그 리포트가 등록되어있다.

   SWT 인가 업데이트 하라고 하는데. 

   윈도우 -> 제어판 -> 업데이트 로 해결 가능 

 

  


경험 : 

이클립스 루나 이상 버전에서 발생하는것으로 알고있다.

 



검색단어 : Unhandled event loop exception

posted by 시드라엘 2013. 1. 30. 09:33

그냥 간단하게 이클립스에서 Maven 구동 방법

 

 

 

 

 

위에서 사용된 메세지.

tomcat:run

-Drebel.log=true ${jrebel_args}

 

 팁! Tomcat 에서 구동시킬때 Tomcat 가 디플로이 되면 server.xml 을   reloadable="true" -> reloadable="false" 로 변경하면 디플로이를 방지할 수 있다.

 

 

 

 

 

 

 

 

posted by 시드라엘 2013. 1. 30. 09:23

서론.

 

아오 항상 유지보수가 어려운게 뭐냐면

 

인수인계가 제대로 안된다는 것이다.

 

어찌됬든 프리랜서로서 인수인계를 받는다는건. 개발을 담당한 업체측에서도 트러블이던간? 아니면 기존 업체간의 트러블로 인해

 

유지보수가 바뀌는경우가 많다.

 

난 이번에 후자였다.

 

기존 홈페이지 운영사와 유지보수 업체간의 트러블로 인해

 

새로운 유지보수 업체가 들어오면서 내가 취직하게 된 셈이다.

 

문론.. 프리다.

 

 

아무튼 항상 이런 상황을 직면하다 보면 제일 어려운점은 바로 포팅이다.

 

아무런 정보도 없으며, 개발사 측에서 어떤 마인드로 개발을 했는지는 소스와 환경을 보고 파악해야 한다.

 

정말....      빡친다.

 

당연히 정보를 요청하지만 피드백은 느리고 원하는 답변은 돌아오지 않는다.

 

 

자! 그래서 지난 3일간의 나의 삽질 라이프중 가장 베스트 였던것 하나만 적어보자면.

 

뭐니뭐니 해도 JAVA 개발의 꽃 jRebel 이라고 할 수 잇겠다.

 

항상 별 문제 없이 돌아가던 녀석이 이번에 안돌아 가는것이 아닌가?!

 

아래와 같은 에러 로그를 토하면서...

 

[2013-01-30 09:08:46] JRebel: Class 'org.apache.log4j.xml.DOMConfigurator' could not be processed by org.zeroturnaround.javarebel.integration.log4j.cbp.DOMConfiguratorCBP@org.apache.catalina.loader.WebappClassLoader@1cba727
2013. 1. 30 오전 9:08:46 org.apache.catalina.core.ApplicationContext log
정보: Initializing log4j from [C:\Develop\workspace\KPAA\src\main\webapp\WEB-INF\config\log4j.xml]
org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such field: appenderBag
 at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:78)
 at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:44)
 at org.zeroturnaround.javarebel.integration.log4j.cbp.DOMConfiguratorCBP.process(DOMConfiguratorCBP.java:18)
 at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(JRebel:62)
 at com.zeroturnaround.javarebel.SDKIntegrationImpl.a(JRebel:595)
 at com.zeroturnaround.javarebel.SDKIntegrationImpl.a(JRebel:584)
 at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(JRebel:472)
 at com.zeroturnaround.javarebel.Mp.transform(JRebel:44)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at java.security.SecureClassLoader.defineClass(Unknown Source)
 at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2733)
 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1124)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
 at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:69)
 at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:151)
 at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:45)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
 at org.apache.catalina.startup.Embedded.start(Embedded.java:825)
 at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)
 at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)
 at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
 at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
 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 org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
 at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: compile error: no such field: appenderBag
 at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupField(JRebel:322)
 at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupFieldByJvmName(JRebel:308)
 at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.fieldAccess(JRebel:843)
 at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atFieldAssign(JRebel:270)
 at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atFieldAssign(JRebel:83)
 at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atAssignExpr(JRebel:229)
 at org.zeroturnaround.bundled.javassist.compiler.ast.AssignExpr.accept(JRebel:38)
 at org.zeroturnaround.bundled.javassist.compiler.CodeGen.doTypeCheck(JRebel:241)
 at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:329)
 at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:49)
 at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:350)
 at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:49)
 at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atMethodBody(JRebel:291)
 at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atMethodDecl(JRebel:273)
 at org.zeroturnaround.bundled.javassist.compiler.ast.MethodDecl.accept(JRebel:43)
 at org.zeroturnaround.bundled.javassist.compiler.Javac.compileMethod(JRebel:168)
 at org.zeroturnaround.bundled.javassist.compiler.Javac.compile(JRebel:94)
 at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:73)
 ... 44 more
[2013-01-30 09:08:46] JRebel-Log4j: Monitoring Log4j configuration in 'file:/C:/Develop/workspace/KPAA/src/main/webapp/WEB-INF/config/log4j.xml'.
2013-01-30 09:08:46,344 DEBUG [org.springframework.web.filter.CharacterEncodingFilter] Initializing filter 'encodingFilter'
2013-01-30 09:08:46,360 DEBUG [org.springframework.web.filter.CharacterEncodingFilter] Filter 'encodingFilter' configured successfully

얼핏봐도 log4j 중간에 오류가 발생했음을 알수 있다.

 

이 문제로 꼬박 2일을 구글링을했으나 답변을 찾지 못하고. 결국 jRebel 서포트팀에 펜팔친구를 만들었다. -_-;;;;

 

뉘미랄 구글번역기 만세 -_-;;;;

 

암튼 이 서포트팀의

Joonas Vali
support@zeroturnaround.com

이라는 사람이 끝까지 도와줘서 해결 할 수 있었다.

정말 고맙다.

 

한국에선 찾아보기 힘든일이다. 문의메일을 하루에 2통씩 주고받을 수 있다는것이!

 

아무튼 난대충 log4j 가 문제임을 어렴풋이 눈치채고 있었으나 별다를 성과를 거두지 못햇다.

 

왜인즉슨!

 

log4j.xml 을 기존 내가 운영하던 심플한 환경으로 변경해도 구동이 안됬기때문이다.

 

그래서 결론부터 말하자면. 여기 프로젝트에 사용된 lib 의 log4j 가 지원되지 jRebel 에서 지원하지 않는 lib 였던것이다.

 

아래 니용은 나의 질문에 대한 Joonas Vali의 답변이다.

 

Hi,

I guess we don't support log4j 1.3 yet, please use log4j 1.2.x . You can also Disable log4j plugin from JRebel Plugin Panel or by adding VM argument -Drebel.log4j-plugin=false, but then reloading related resources and classes will not work.

--
Joonas Vali
support@zeroturnaround.com

 

음.. 영어 못하는 내가봐도. 아직 1.3 은 안된다는거같다.

 

저기서 포인트는 log4j 플러그인 펄스.

 

즉. log4j 를 포기하고 jRebel 을 택한것이다.

 

반대로 log4j 의 라이브러리를 변경해주면 둘다 사용이 가능해진다는 뜻이 되기도하다.

 

아직 거기까지 손대진 않았지만.. 할일이 많아서. 이일로 고생하는 사람이 없었으면 좋겠다.

 

 

 

 

아래는 내가 구글링했던 단어들을 열거해본다. ( 쓸대없는 삽질은 하지말자! )

JRebel: Class 'org.apache.log4j.xml.DOMConfigurator'

JRebel: Class 'org.apache.log4j.xml.DOMConfigurator' could not be processed by org.zeroturnaround.javarebel.integration.log4j.cbp.DOMConfigurator

appenderBag

[source error] no such field: appenderBag

org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such field: appenderBag

JRebel: Class 'org.apache.log4j.xml.DOMConfigurator' could not be processed by org.zeroturnaround.javarebel.integration.log4j.cbp.DOMConfiguratorCBP@org.apache.catalina.loader.WebappClassLoader@1cba727

Caused by: compile error: no such field: appenderBag

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted by 시드라엘 2012. 1. 26. 11:50



http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

위 url 접속후

 Eclipse update site URL: http://subclipse.tigris.org/update_1.8.x

내용을 긁은뒤

이클립스 -> help -> install new software -> add -> Name : subclipse, Location : http://subclipse.tigris.org/update_1.8.x -> OK

그다음 뭐 막 체크하고 yse,no 물어보는데 대충 눈치껏 ㅋㅋ