2009-08-18 3 views
2

Eclipse Java 'Export Runnable JAR file'을 사용하고 있습니다. 모든 파일이 포함 된 단일 JAR 파일을 만드는 방법은 훌륭하지만 한 가지 문제는 프로젝트에 두 개의 디렉토리가 있습니다. 몇 외부 라이브러리, 다음과 같은 레이아웃 같은Java Eclipse 내보내기 기능에 대한 질문

  • SRC
  • 자원
    • mypic.jpg
  • JRE 시스템 라이브러리
  • 참조 된 라이브러리
    • 외부 라이브러리
    • 보통 'SRC'로

의 무리 내 모든 코드가 포함되어 있습니다. 리소스에는 코드에서 사용하는 일부 이미지 파일이 포함되어 있습니다. 내 코드에서 mypic.jpg를 참조하면 다음과 같습니다.

문자열 파일 이름 = "resources/mypic.jpg";

그러나 프로젝트를 실행 가능한 JAR 파일로 내보낼 때 'resources'디렉토리가 완전히 무시되고 mypic.jpg가 최상위 디렉토리에 저장되므로 내 코드의 "resources/mypic.jpg"가 ' 전혀 일하지 않는다. 'resources'디렉토리가 JAR 파일에도 생성되지 않았습니다.

'New-> Folder', 'New-> Source Folder'및 none avail 모두를 사용하여 "resources"디렉토리를 만들려고했습니다.

여기 빌드 경로 구성에 대한 내 "빌드 경로에 소스 폴더"입니다

에 MyProject/자원 에 MyProject/src에

내 이클립스 빌드 (윈도우 XP) : 웹 개발자를위한 이클립스 자바 EE IDE. 빌드 ID : 20090621-0832

+0

단순한 export-to-jar (export-to-runnable-jar와 반대)에는 resources 디렉토리가 포함됩니다. – CPerkins

+0

흠, 왜 runnable로 내보내기가 그렇게하지 않습니까? 내 말은, dir 구조를 보존하는 것이 상식이 아닌가? 아니면 내가 놓친 게 있을까? – Beier

답변

3

나는 받는다는을 사용하여 여기에 설명 된 접근 방식을 가지고 추천 할 것입니다 :

How can I create an executable JAR with dependencies using Maven?

네, 조만간 프로젝트를 "mavenizing"와 Maven을 사용하는 방법을 학습이 필요하지만 것 Eclipse 외부에서 프로젝트를 빌드하고자 할 것입니다.

0

Eclipse가하는 일은 정확합니다. 소스와 출력 디렉토리가 프로젝트의 루트를 가리 키도록 만들 수 있습니다. 그런 다음 src/디렉토리에서 프로젝트 루트에 모든 Java 소스 파일을 이동하면이 작업을 수행 할 수 있습니다.

그러나 클래스 패스의 루트에서 mypic.jpg에 액세스하거나 리소스/리소스 아래 프로젝트에 넣을 수 있습니다.