2013-12-16 2 views
0

Java를 사용하여 Mac 용 파일 복사 프로그램을 작성했습니다. Eclipse에서 실행 파일 .jar를 내보낼 때 모든 것이 잘 작동합니다. 그래서 나는 .app로 묶어서 앱을 돌린다. 모든 것이 괜찮아 보이지만 GUI는로드되지만, 이전과 같은 위치에서 똑같은 파일을 복사한다고 말하면 그냥 거기에 있습니다. 파일은 복사되지 않지만 응답이없는 것으로 표시되지 않습니다.Mac Java 응용 프로그램은 .jar로 실행되지만 .app로 묶어서 제대로 실행되지 않습니다.

바탕 화면의 새 폴더에 복사하려는 원본 파일이/Library/Application Support/My Files에 있습니다.

시스템은 내 Java 응용 프로그램이 .app이 아니고 .jar가 아니기 때문에 사용자에게 admin priveledges를 요청해야합니까?

터미널에서 sudo 명령을 사용하여 응용 프로그램을 실행할 때 많은 데이터가 출력됩니다.

MUS9155A271AL:~ sesa251707$ sudo /Users/sesa251707/Desktop/Notes\ Cloner\ Mac.app/Contents/MacOS/JavaApplicationStub 
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils 
    at Notes_Cloner$2.actionPerformed(Notes_Cloner.java:181) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028) 
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) 
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) 
    at java.awt.Component.processMouseEvent(Component.java:6414) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3275) 
    at java.awt.Component.processEvent(Component.java:6179) 
    at java.awt.Container.processEvent(Container.java:2084) 
    at java.awt.Component.dispatchEventImpl(Component.java:4776) 
    at java.awt.Container.dispatchEventImpl(Container.java:2142) 
    at java.awt.Component.dispatchEvent(Component.java:4604) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209) 
    at java.awt.Container.dispatchEventImpl(Container.java:2128) 
    at java.awt.Window.dispatchEventImpl(Window.java:2492) 
    at java.awt.Component.dispatchEvent(Component.java:4604) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717) 
    at java.awt.EventQueue.access$400(EventQueue.java:82) 
    at java.awt.EventQueue$2.run(EventQueue.java:676) 
    at java.awt.EventQueue$2.run(EventQueue.java:674) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97) 
    at java.awt.EventQueue$3.run(EventQueue.java:690) 
    at java.awt.EventQueue$3.run(EventQueue.java:688) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:687) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 37 more 
+0

일부 코드를 게시하십시오. 디버깅을 시도 했습니까? –

+0

터미널에서 sudo를 사용하여 응용 프로그램을 실행했습니다. 파일을 백업하기 위해 버튼을 클릭했을 때 출력 된 내용을 게시했습니다. – Lgwells1

+1

Jar 파일에서 Mac Apps를 만드는 방법을 모르지만'org/apache/commons/io/FileUtils'가'classpath '에 없다는 오류 메시지가 표시됩니다. 프로세스에서 클래스 패스에 추가 항아리를 지정하여 "응용 프로그램으로 묶는"방법이 있습니까? –

답변

0

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils

나는 맥 앱이 Jar 파일에서 생성되는 방법을 모르지만 오류 메시지가 조직/아파치/평민/IO/Fileutils의이 classpath에없는 것을 알 수있다. 프로세스에서 클래스 패스에 추가 항아리를 지정하여 "응용 프로그램으로 묶는"방법이 있습니까?

관련 문제