2010-03-06 2 views
0

내 응용 프로그램을 사용하려면 XML 파일이 필요하며 파일이 없으면 시작되지 않습니다. 왜 내 응용 프로그램을 JAR 파일로 묶는 지 XML 파일이 JAR 파일과 같은 디렉토리에있는 한 제대로 작동합니다.OS X의 응용 프로그램 번들이 작동하지 않습니다. 주소 지정 문제가 발생했습니다.

OS X 응용 프로그램 패키지로 프로젝트를 내보낼 때 응용 프로그램이 작동하지 않습니다. 응용 프로그램 패키지가있는 동일한 디렉토리에 XML 파일을 복사하면 작동합니다.

그래서 Java 코드 내에서 XML 파일에 액세스하는 것이 부차적 인 주소 지정 문제라고 확신합니다. XML 파일을 응용 프로그램 패키지에 넣고 싶습니다. JAR 파일과 동일한 디렉토리에 복사하는 것만으로는 작동하지 않습니다.

파일 또는 더 나은 파일은 doc = sax.build("file.xml");과 같이 주소가 지정되며 내 프로젝트 폴더에 직접 위치합니다. Eclipse로 작업 중이며 Eclipse에서 응용 프로그램 번들로 직접 프로젝트를 내 보냅니다. 동일한 결과를 제공하는 OS X Jar Bundler를 사용해 보았습니다.

그렇다면 파일을 올바르게 처리하여 응용 프로그램 번들에 배치 할 수 있습니까?

도움을 주시면 감사하겠습니다. 고마워요!

답변

1

실제 파일로 읽는 것이 가장 가능성이 높습니다. 실제 파일은 현재 작업 디렉토리에 있어야합니다.

클래스 패스를 통해 리소스를 찾을 수 있도록 리소스로 읽는 것이 좋습니까?

+0

아직 리소스 파일로 작업하지 않았습니다. 어떻게하는지에 대한 조언과 파일을 저장할 위치는 무엇입니까? – Peter

+0

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html#getResourceAsStream(java.lang.String) 참고로 빌드를로드 할 수 있습니다. xml을로드하는 클래스 옆에있는 루트가 아니라 "/build.xml"을 사용하십시오. jar 파일이나 파일 시스템에있을 수 있습니다 (classpath에 "."이있는 경우) –

+0

미안하지만 어쨌든 그렇게 할 수 없습니다. getResource() 또는 getResourceAsStream() 메소드로 파일을 읽을 수 있다는 것을 알고 있지만, 명시 적 파일에 액세스하는 방법과 프로젝트 폴더에 저장할 위치를 여전히 모릅니다. 내가 말했듯이, 나는 전에 그것을 한 적이 없으며 웹에서 유용한 정보를 찾을 수 없습니다. 또 다른 문제는 XML 파일이 코드 내에서 수정되어 리소스를 읽는 것만으로도 내 문제를 해결할 수 없다는 것입니다. – Peter