Java에서 소스 코드 파일 비교 및 병합

Java에서 소스 코드 파일 비교 및 병합

Java 개발자로서 소스 코드 비교 도구 또는 애플리케이션을 빌드하려고 하거나 여러 버전의 코드 파일을 관리해야 하는 경우 **Java에서 소스 코드 파일을 비교하고 병합하는 방법에 대해 생각할 수 있습니다. **. 그렇다면 이 기사에서는 여러 줄의 코드를 작성하지 않고도 이 작업을 얼마나 쉽게 수행할 수 있는지 설명합니다. 또한 소스 코드 파일을 병합하는 동안 변경 사항을 검색, 수락 또는 폐기하는 방법을 살펴보겠습니다.

이 문서에서는 아래에 주어진 사항을 다룹니다.

소스 코드 파일을 비교하고 병합하는 Java 라이브러리

소스 코드 파일을 비교하고 병합하기 위해 모든 중요하고 뛰어난 소스 코드 비교 기능으로 구성된 Java 코드 비교 라이브러리를 사용합니다. 이 Java 코드 비교 라이브러리는 다운로드하거나 아래와 같이 Maven 구성을 사용하여 직접 설치할 수 있습니다.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-comparison</artifactId>
    <version>22.11</version>
</dependency>

Java에서 소스 코드 파일을 비교하고 병합하는 방법

다음 스크린샷과 같이 서로 다른 버전의 소스 코드에 대한 두 개의 파일(source.cs 및 target.cs)이 있다고 가정합니다.

비교할 소스 코드 파일

위의 파일을 고려하여 아래 제공된 단계에 따라 Java로 코드 스니펫을 작성해 보겠습니다.

  1. 소스 문서의 경로 또는 스트림으로 Comparer 클래스를 초기화합니다.
  2. add() 메서드를 호출하고 대상 문서의 경로 또는 스트림을 지정합니다.
  3. compare() 메서드를 호출합니다.

다음 코드 샘플은 Java에서 소스 코드 파일을 얼마나 쉽게 비교하고 병합할 수 있는지 보여줍니다.

//Instantiate Comparer object with source document path or stream;
try (Comparer comparer = new Comparer(SourceFile)) {
// Invoke add method and specify target document path or stream.
comparer.add(TargetFile);
//Invoke compare method.
final Path resultPath = comparer.compare(ResultPath);
}

결과적으로 병합된 소스 코드 파일과 코드의 변경 사항을 강조 표시하는 HTML 파일을 얻게 됩니다. 삭제된 요소는 red 로, 추가된 요소는 blue 로, 수정된 요소는 green 으로 표시됩니다.

소스 코드 파일 비교 및 병합

Java를 사용하여 변경 목록 가져오기

비교 후 모든 변경 사항 목록을 얻으려면 다음 단계에 따라 코드를 작성해야 합니다.

  1. Comparer 객체를 소스 파일의 경로로 초기화합니다.
  2. add() 메서드를 호출하고 대상 파일의 경로를 지정합니다.
  3. compare() 메서드를 호출합니다.
  4. getChanges() 메서드를 사용하여 변경 목록을 가져옵니다.

아래 코드 샘플은 모든 변경 사항 목록을 가져오는 방법을 보여줍니다.

//Initialize Comparer object with source file path
try (Comparer comparer = new Comparer(sourceFile)) {
//Invoke [add][] method and specify target file path.
comparer.add(targetFile);
//Call compare method
final Path resultPath = comparer.compare();
//Get the list of changes by using getChanges method
ChangeInfo[] changes = comparer.getChanges();
//Display the changes count
System.out.println("Count of changes: " + changes.length);
}

Java 코드 비교 라이브러리의 고급 옵션

여러 버전의 코드를 수락하거나 거부해야 하는 경우 변경 사항을 적용하거나 취소해야 할 수 있습니다. 이 경우 다음 단계를 따르십시오.

  1. 소스 문서의 경로 또는 스트림으로 Comparer 클래스의 개체를 초기화합니다.
  2. add() 메서드를 호출하고 대상 문서의 경로를 설정합니다.
  3. compare() 메서드를 호출합니다.
  4. getChanges() 메서드를 호출하고 감지된 변경 목록을 가져옵니다.
  5. 필요한 변경 객체의 ComparisonActionComparisonAction.ACCEPT 또는 ComparisonAction.REJECT 값으로 설정합니다.
  6. applyChanges() 메서드를 호출하고 변경 사항 모음을 전달합니다.

다음 코드 스니펫은 코드 비교 라이브러리의 고급 옵션을 사용하는 방법을 보여줍니다.

//Initialize Comparer object with source file path
try (Comparer comparer = new Comparer(sourcePath)) {
//Invoke [add][] method and specify target file path.
comparer.add(targetPath);
//Call compare method
final Path resultPath = comparer.compare(outputPath);
//Get the list of changes by using getChanges method
ChangeInfo[] changes = comparer.getChanges();
//Set ComparisonAction of needed change object to ComparisonAction.ACCEPT value.
for (int i = 0; i < 10; i++) {
changes[i].setComparisonAction(ComparisonAction.ACCEPT);
}
//Set ComparisonAction of needed change object to ComparisonAction.REJECT value.
for (int i = 10; i < changes.length; i++) {
changes[i].setComparisonAction(ComparisonAction.REJECT);
}
// Call applyChanges method and pass collection of changes to it.
comparer.applyChanges(resultPath, new ApplyChangeOptions(changes));
}

무료 라이선스 받기

무료 임시 라이선스를 받아 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

요약하면 Java 코드 비교 라이브러리를 사용하여 Java에서 소스 코드 파일을 비교하고 병합하는 방법을 배웠기를 바랍니다. 결과적으로 삽입되거나 삭제된 콘텐츠의 요약을 얻었습니다. 또한 변경 목록을 가져오고 식별된 변경 사항을 수락하거나 거부하는 방법을 살펴보았습니다.

문서를 방문하여 다른 기능을 탐색할 수 있습니다.

질문하기

포럼에서 질문이나 쿼리를 알려주세요.

FAQ

Java에서 소스 코드 파일을 비교하고 병합하는 방법은 무엇입니까?

소스 문서 경로 또는 스트림으로 Comparer 클래스를 초기화하고 add() 메서드를 호출하고 대상 문서의 경로 또는 스트림을 설정합니다. 그런 다음 Comparer 클래스의 compare() 메서드를 호출합니다.

또한보십시오