2011-09-15 5 views
7

표준 Java Builder가 유일한 빌더로 선택된 Java 프로젝트가 있습니다. 또한 빌드는 자동으로 빌드되도록 구성됩니다.Eclipse에서 증분 형 프로젝트에 빌더 추가 및 증분 형

내가 알고 싶은 것은이 프로젝트에 개미 빌드를 추가 할 때 발생하는 빌드 상황 (project -> properties -> builders)입니다. 내가 예상 할 수있는 것은 자바 빌더와 앤트 빌드가 모두 실행될 때마다 자바 소스를 변경할 때마다 내 앤트 빌드가 실행되지 않는 것 같습니다.

내가 처음 개미 빌드를 추가하면 실행됩니다. 즉, 콘솔에 출력이 표시됩니다. 그러나 소스 파일을 변경하면 다시 실행되지 않습니다. 즉 콘솔에 출력이 표시되지 않습니다. Java Builder가 여전히 변경 사항을 일식 코드 인식으로 입력했기 때문에 실행 중이라는 것을 알고 있습니다. 즉, 다른 클래스의 변경 사항을 참조 할 수 있습니다.

참고 : 빌드를 수동으로 호출하면 Project -> Build All, 개미 빌드가 실행됩니다. 다시 콘솔에 출력이 표시됩니다.

그래서 내가 추가 한 개미 빌드가 자동 건물과 함께 실행되지 않는 이유는 무엇입니까? Java Builder가 실행될 때 불이 꺼질 것이라고 생각 했겠지만 필자는 필연적으로 점진적 작업을 수행 할 수 있다고 기대하지는 않습니다. 내가 놓친 게 있니?

+0

이 링크 (http://www.eclipse.org/articles/Article-Builders/builders.html)는 내 개미 빌드가 백그라운드에서 실행 중이며 결과가 나타나지 않을 것이라고 제안하는 것 같습니다. 콘솔. 또한 빌더가 변경 사항의 델타를 받음으로써 점진적으로 빌드 작업을 적용 할 수 있다는 점에서 자동 빌드 및 모두 빌드가 "증분"이라고 제안합니다. . . 그렇다면 필자는 개미 build.xml이 델타 정보에 어떻게 접근 할 수 있는지 이해하지 못합니다. . . – chad

+0

야! 이것에 대해 인터넷에 아무것도 없습니다 !! 나는 내가 작성한이 건축가에 대한 벽에 머리를 두드리는 소리를 지르고 있었고 일하지 않는다 !!! Q에 대한 답을 찾았습니까? –

+2

번호. 당신은 내 질문을 upvote해야합니다 그리고 어쩌면 그것은 좀 더 지식이 식 사람의 관심을 끌 것입니다. – chad

답변

1

개미 빌더 또는 그와 관련된 다른 빌더에는 프로젝트를 빌드하는 몇 가지 방법이 있습니다. Eclipse에서 빌드가 발생하면 모든 활성 빌더의 build(int kind, Map<String, String> args, IProgressMonitor monitor) 메소드가 호출되지만, 빌더가 build 메소드에서 점검하는 다른 종류의 빌드가 있습니다. 빌드의 종류는 다음과 같습니다 당신이 볼 수 있듯이

protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException { 
    if (kind == FULL_BUILD) { 
     fullBuild(monitor); 
    } else { 
     IResourceDelta delta = getDelta(getProject()); 
     if (delta == null) { 
      fullBuild(monitor); 
     } else { 
      incrementalBuild(delta, monitor); 
     } 
    } 
    return null; 
} 

이 빌더 빌드의 특정 종류에 반응하기로 결정, 심지어 다른 역할을 할 수 있습니다 : 여기

FULL_BUILD 
AUTO_BUILD 
INCREMENTAL_BUILD 
CLEAN_BUILD 

빌드의 예제 구문입니다 다른 빌드 종류의 경우, 내 생각에, 앤트 빌더는 증분 빌드가 아닌 전체 빌드에만 반응하도록 구현됩니다.

0

"자동"빌드 중에 실행되도록 Ant 빌더를 구성 했습니까? 이렇게하려면 빌더의 속성을 선택하고 Targets 페이지로 이동하여 Auto BuildSet Targets을 사용합니다.

내 Eclipse 프로젝트에서 모든 종류의 빌드 (편집 된 소스 파일을 저장할 때도 마찬가지 임)에서 실행중인 Ant 빌더가 있는데 다른 것을 변경하는 것을 기억하지 않습니다.