2012-08-05 4 views
1

그래서 이클립스 뷰 플러그인을위한 두 개의 이미지를 만듭니다. 완벽하게 작동합니다. 다음날 깨우면 프로그램에서 더 이상 파일을 찾을 수 없다고 알려줍니다. 그 파일들은 분명히 내가 떠난 동일한 장소에 있으며, 나는 24 시간 안에 코드를 건드리지 않았다. 나는 지금 1 시간 동안 이것을 어지럽 혔고 어제 내 프로그램이 좋았던 것처럼 이것이 어디서 디버깅을 시작할 지조차 알지 못한다.이상한 FileNotFoundException with Image

Sample.gif는 내 플러그인의 "icons"폴더에 있습니다. src 폴더로 옮겨 보려고했는데 작동하지 않습니다.

오류 메시지 :

org.eclipse.swt.SWTException: i/o error (java.io.FileNotFoundException: sample.gif (No such file or directory)) 

코드 (나는이 라인과 testImage를 사용하는 코드의 모든 행을 제거 할 때, 플러그인이 다시 실행) :

Image testImage = new Image(null, "sample.gif"); 

누구든지 무엇을 가능하게 할 수있는 아이디어를 가지고 이 문제를 일으키거나 디버깅 방법에 대한 지침을 누군가에게 줄 수있는 정보는 무엇입니까?

+0

수행 한 코드를 작성하십시오. –

+0

기본적으로 코드를 작성하지 않았습니다. 이것은 PDT가 트리 뷰어로보기 플러그인을 생성 한 Eclipse에서 테스트되었습니다. – KWJ2104

+0

당신은 당신이 시도한 것을 질문하고 해결책을 물을 수 있습니다. –

답변

1

문제는 현재 디렉토리가있는 위치와 관련이 있습니다. "sample.gif"와 같은 경로 이름을 사용하면 파일을 열 때의 일반적인 동작은 현재 디렉토리를 살펴 보는 것입니다. 다른 현재 디렉토리로 응용 프로그램을 실행하면 응용 프로그램은 다른 위치에서 파일을 찾습니다.

:


내가 그러나 현재 디렉토리 개념 여기

에 의해 혼동하고있어이 개념을 설명하는 일부 페이지입니다

사진은 어디로 이동해야합니까?

이클립스에서 응용 프로그램을 실행하려는 경우에는 아무 곳에 나 둘 수 있습니다 ... 응용 프로그램의 Eclipse 시작 프로그램 구성이 현재 디렉토리를 일관된 위치로 설정하는지 확인하십시오. (현재 문제는 부모 Eclipse의 현재 디렉토리를 사용하는 응용 프로그램 실행 프로그램 때문일 가능성이 높습니다. Eclipse를 시작할 때 위치에 따라 다를 수 있습니다 ... 위의 링크 된 페이지 참조)

내보낼 경우 사용자가 Eclipse 외부에서 사용할 수 있도록 빌드 된 응용 프로그램을 작성하면 응용 프로그램의 성격과 사용자 컴퓨터에 응용 프로그램을 설치하는 방법에 따라 대답이 달라집니다. 가능한 해결책은 이미지를 응용 프로그램의 JAR 파일에 저장하고 ClassLoader.getResource 메소드를 사용하여 클래스 경로를 통해 찾으십시오.

+0

응답 해 주셔서 감사합니다.나는 이클립스에서 프로그램을 실행하고있다. 왜냐하면 나는 플러그인을 만들고 있기 때문이다. 나는 절대 파일 경로를 추가하려고 시도했다. 그러나 나는 현재의 디렉토리 개념에 혼란 스럽다. 사진은 어디로 가야합니까? 이클립스 프로젝트의 src 폴더와 같은 레벨에있는 icons 폴더에 넣는다. 나는 또한 내 코드가 실제로있는 src 폴더에 직접 넣었다. 둘 다 일하지 않아. – KWJ2104