2016-06-03 10 views
1

나는 내 작업 공간에 수백 개의 프로젝트를 가지고 있는데, 그 중 일부는 다른 작업에 의존한다. 코드베이스에서 참조되는 정적 필드가있는 생성 된 Java 파일 (Example.java)이 있습니다. 또한 정적 필드가있는 특정 모듈 내에서 파일을 생성했습니다. 필자는 필드에 대한 참조를 특정 패키지에 속한 필드의 모듈화 된 버전으로 마이그레이션하려고합니다.리팩토링하는 이클립스 스크립트

는 예를 들어, Example.java에는 다음이 포함

public static final ObjectType OT1 = ObjectTypeFactory.makeObject("OT1"); 
public static final ObjectType OT2 = ObjectTypeFactory.makeObject("OT2"); 
public static final ObjectType OT3 = ObjectTypeFactory.makeObject("OT3"); 

Then Modularized Java files within the packages look something like: 
Mod1.java 
public static final ObjectType OT1 = ObjectTypeFactory.makeObject("OT1"); 

Mod2.java 
public static final ObjectType OT2 = ObjectTypeFactory.makeObject("OT2"); 

Mod3.java 
public static final ObjectType OT3 = ObjectTypeFactory.makeObject("OT3"); 

내가 내 코드베이스를 통해 Mod1.OT1에 Example.OT1에 대한 참조를 이동뿐만 아니라, 그들의 나머지를 변경하고 싶습니다. 나는 그러한 변화를 수천 가지로해야한다.

+0

또한 Eclipse에 너무 많이 의존하지 않기 위해 프로젝트 간 종속성을 처리하기 위해 Maven을 사용할 수도 있습니다. –

답변

1

JDT는 refactoring scripts을 지원합니다. 그러나 나는 그 (것)들을 결코 사용하지 않으며 그래서 나는 가능하다는 것을 모른다.

그렇지 않은 경우 Eclipse EASE을 리팩토링을 위해 JDT API와 결합하여 사용할 수 있습니다. 특히 move static field refactoring입니다.

+0

감사합니다. 전에 이미 이러한 작업을 수행했습니다. 리팩토링 API를 사용하는 방법에 대한 자습서가 있습니까? 어떤 도움을 많이 주시면 감사하겠습니다! – user3418847

+0

예, 여기 몇 개의 링크를 그룹화했습니다 : https://github.com/JnRouvignac/AutoRefactor/wiki/Useful-links – JnRouvignac