2011-11-06 1 views
23

이클립스의 한 프로젝트에서 src 디렉토리에 하나의 폴더를 만드는 동안 해당 폴더가 패키지가됩니다. 이 폴더가 자동으로 패키지가되는 것을 피할 수있는 방법이 있습니까? 예 : src 디렉토리에 메인 폴더를 추가합니다. 나는 그것을 패키지가되기를 원하지 않는다. 어떻게해야합니까?패키지를 만들지 않고 이클립스에서 src 디렉토리에 폴더 추가

이 방법으로 폴더를 추가한다고 가정합니다 (src/main/org/apache). main.org.apache가 패키지가되는 대신, org에서 패키징을 시작하고 싶습니다. (즉, org.apache).

답변

28

Eclipse에서는 원본 디렉토리와 일반 폴더를 구분해야합니다. 원본 폴더의 모든 하위 디렉터리는 패키지로 간주됩니다.

src/ 외부의 일반 폴더를 만들어 서브 디렉토리가 패키지로 해석되지 않도록 할 수 있습니다.

또는 프로젝트 등록 정보를 수정하여 src/을 일반 디렉토리로 간주하고 소스 디렉토리를 그 안에 넣을 수 있습니다.

당신은 프로젝트의 디렉토리가 소스 디렉토리로 간주되는 관리 할 수 ​​

  1. 마우스 오른쪽 버튼으로 클릭하여 프로젝트를 다음 Properties을 클릭합니다.
  2. 왼쪽 창에서 Java Build Path을 클릭하십시오. 오른쪽 창에서 Source tab을 선택하십시오.
  3. 여기에서 원본 폴더를 추가/편집/제거 할 수 있습니다.
+0

그러나이 방법으로 파일을 더 이상 "src 파일"로 인식하지 않으면 프로젝트를 컴파일하고 실행/디버깅하는 방법 (Ctrl F11)은 어떻게됩니까? – Pacerier

+0

맞습니다. 모든 코드는 여전히'src' 폴더에 들어가야합니다. 그렇지 않으면 컴파일되지 않습니다. –

+1

패키지를 두 개 이상의 폴더에 넣을 수 있도록 Eclipse를 설정하는 방법이 있습니까? – Pacerier

0

src 디렉토리의 모든 폴더가 패키지가됩니다. 주 폴더를 갖고 싶다면 main이라는 이름의 소스 폴더를 만든 다음 주 폴더에 필요한 패키지를 만듭니다.

11

프로젝트 -> 등록 정보 -> Java 빌드 경로 -> 소스 (탭)로 이동해야합니다.

그런 다음 소스 폴더로 src/main을 추가 "빌드 경로에 소스 폴더"에서 src를 제거합니다. main 아래에 이미 org이 있다면 패키지는 org으로 시작해야합니다.

0

Eclipse에서 Java 프로젝트를 실행하면 현재 작업중인 디렉토리가 프로젝트의 루트 폴더가됩니다. 그렇다면 리소스 폴더를 만들지 않는 이유는 무엇입니까?

ProjectDirectory 
../bin 
../src 
../resourceDirectory 

그런 다음 프로젝트에, 당신은

public File getDirectory(String dir) { 
    File cwdir = new File(".").getParentFile(); // remove the "." in path 
    for (File f : cwdir.listFiles()) { 
     if (f.isDirectory() && f.getName().equals(dir)) { 
      return f; 
     } 
    } 
    return null; 
} 

File resourceDir = getDirectory("resourceDirectory"); 
if (null == resourceDir) { 
    System.err.println("Resource directory not found"); 
    System.exit(-1); 
} 

참고로 resourceDirectory를 가져올 수 : 당신은 아마 getDirectory() 방법에 대한 유틸리티 클래스를 만들 수 있습니다 , 또는 비슷한 것. 이것은 단지 예일뿐입니다.

요점은 응용 프로그램이 있어야 할 위치에서 실행될 가능성이 높고 어쨌든 시작 파일 (.bat, .sh 등)을 사용하는 것입니다.원본 또는 바이너리 폴더 안에 리소스 디렉토리를 넣을 필요가 없습니다. 그들을 분리 시키십시오.

3

"Java 빌드 경로 -> 소스 -> src/main/resources '에 ** 값으로"제외 "패턴을 추가했는데 내 패키지가 Eclipse의 간단한 폴더가되었습니다.

+0

이것은 내가 당신을 찾고 있었던 정확하게 것 당신에게 감사한다! – Potion