skip menu and go to main content

body start

JZip

  맥에선안되는군요.. 8 ]

08.02.27-10:19:15

314088

Submitted by EunSoon Sim

 

View1513

 

맥은 아직 JRE1.6이 아니라서 그런듯..;;
OTL..

Comments on this artfact

8 Comments

EunSoon

맥은 아직 JRE1.6이 아니라서 그런듯..;;
OTL..

08.02.27-10:19:15

Seungwon

주변에 맥을 쓰는 친구가 없어서 맥에서는 이 프로그램을 테스트해 보지 못했습니다. ㅠ_ㅠ

맥에서는 자바 버전이 어떻게 되죠?

그리고 맥에도 JRE 6를 설치할 수 있지 않나요?

08.02.27-13:54:04

EunSoon

맥은 시스템에 default로 자바가 설치되어 있습니다.
아직 1.5버전이구요..
1.6버전도 개발버전을 설치할수는 있지요 ㅎㅎ;하지만 거의 안한다능;
그리고 그때는 windows용 swt로 실행한것 같더라구요 -ㅅ-;;
그래서 오늘 webstart로 실행해봤는데
실행후 ui가 뻗어버리는군요 ㅜㅜ;

08.02.28-10:42:05

Seungwon

자세한 답변 감사합니다.
제가 비록 JDK 6로 개발을 하기 했지만, 아마 JRE 5에서도 실행 가능할 것입니다.
리눅스와 윈도우에서는 잘 되는데, 왜 맥에서는 안되는지 모르겠네요.
에러 메시지라도 볼 수 있다면 좋을 텐데요.

08.02.28-17:22:57

EunSoon

console에 나타난 에러메세지 입니다.
이건 jnlp로 실행했을때입니다.
동작은 그냥 띄우고 메뉴바에서 메뉴클릭하고 그런정도;;
스크린샷도 찍었는데 여기게시판에는 이미지 삽입을 못하는군여 ㅎㅎ;

Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.ToolItem.getSelection(Unknown Source)
        at org.eclipse.swt.widgets.ToolItem.drawBackground(Unknown Source)
        at org.eclipse.swt.widgets.Widget.kEventControlDraw(Unknown Source)
        at org.eclipse.swt.widgets.Widget.controlProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.controlProc(Unknown Source)
Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.Shell.isEnabled(Unknown Source)
        at org.eclipse.swt.widgets.Display.mouseProc(Unknown Source)
Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.Shell.isEnabled(Unknown Source)
        at org.eclipse.swt.widgets.Display.mouseProc(Unknown Source)
Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.Label.setText(Unknown Source)
        at net.kldp.jzip.JZip.setStatusLine(JZip.java:2645)
        at net.kldp.jzip.JZip.access$2(JZip.java:2643)
        at net.kldp.jzip.JZip$72.widgetArmed(JZip.java:1821)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Menu.kEventMenuTargetItem(Unknown Source)
        at org.eclipse.swt.widgets.Widget.menuProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.menuProc(Unknown Source)
Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.ToolItem.getSelection(Unknown Source)
        at org.eclipse.swt.widgets.ToolItem.drawBackground(Unknown Source)
        at org.eclipse.swt.widgets.Widget.kEventControlDraw(Unknown Source)
        at org.eclipse.swt.widgets.Widget.controlProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.controlProc(Unknown Source)
Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.Label.setText(Unknown Source)
        at net.kldp.jzip.JZip.setStatusLine(JZip.java:2645)
        at net.kldp.jzip.JZip.access$2(JZip.java:2643)
        at net.kldp.jzip.JZip$59.widgetArmed(JZip.java:1681)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Menu.kEventMenuTargetItem(Unknown Source)
        at org.eclipse.swt.widgets.Widget.menuProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.menuProc(Unknown Source)
Exception in thread "AWT-AppKit" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.Control.isEnabled(Unknown Source)
        at org.eclipse.swt.widgets.Display.getFocusControl(Unknown Source)
        at org.eclipse.swt.widgets.Decorations.saveFocus(Unknown Source)
        at org.eclipse.swt.widgets.Shell.kEventWindowDeactivated(Unknown Source)
        at org.eclipse.swt.widgets.Widget.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)

Invalid thread access에러군요.. 요건 다른플랫폼에도 발생하는걸텐데..음..

그리구 command로 java -jar JZip.jar로 실행했을땐
Illegal instruction
라는 에러 메세지가 뜨구 프레임이 떳다가 바로 종료되네여

도움이 되었으면 하네요 ^^;

08.02.29-10:38:45

Seungwon

이번에도 역시 자세한 답변 감사드립니다. ^_^

흠, 일단 SWT로 만든 애플리케이션은 아직 맥에서 JWS로 실행할 수 없는 것 같습니다. OTL
http://www.eclipse.org/swt/jws/
https://bugs.eclipse.org/bugs/show_bug.cgi?id=63306
윈도우와 리눅스에서 잘 되길래, 맥에서도 될 줄 알았더니, 흑흑...

그리고 프로그램을 실행할 때, -XstartOnFirstThread 옵션을 넣어보시기 바랍니다.
java -XstartOnFirstThread -jar JZip.jar
맥에서 실행할 때는 이 옵션이 꼭 필요하다고 그러는군요.
http://www.eclipse.org/swt/macosx/
이 방법으로 실행해 보시고, 실행 결과를 저에게 다시 알려 주시기 바랍니다.
감사합니다. ^_^

08.02.29-18:50:36

EunSoon

java -XstartOnFirstThread -jar JZip.jar
로 실행하니 잘 뜨는군요 ^^;;

하지만 역시 JRE1.6 이 아니라 문제가 생기는군요 ^^;
(1.6 api를 쓰는곳이 있어서 ㅋ)
Exception in thread "main" java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z
        at net.kldp.jzip.Zip.getPath(Zip.java:1421)
        at net.kldp.jzip.JZip.updateMenu(JZip.java:2798)
        at net.kldp.jzip.JZip.updateTable(JZip.java:2894)
        at net.kldp.jzip.JZip.open(JZip.java:2353)
        at net.kldp.jzip.JZip.createNew(JZip.java:730)
        at net.kldp.jzip.JZip.access$42(JZip.java:714)
        at net.kldp.jzip.JZip$86.widgetSelected(JZip.java:2008)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at net.kldp.jzip.JZip.main(JZip.java:300)

아무래도 mac에서 jre가 1.6으로 업글되면 써야겠네요 ^^

08.03.03-12:26:09

Seungwon

아, 그렇군요. isEmpty() 메소드는 1.6부터 생긴 메소드였군요.

JRE 1.5 버전을 지원하는 것이 생각보다 쉽지 않군요.
좀 더 고민해봐야할 문제인 것 같습니다.

어쨌든 좋은 정보 감사합니다.
프로그램 개발에 큰 도움이 되었습니다. :-)

08.03.03-13:11:00