2016-06-03 1 views
1

J'ai des centaines de projets dans mon espace de travail, dont certains dépendent des autres. J'ai un fichier Java généré (Example.java) avec des champs statiques qui sont référencés dans la base de code. J'ai également généré des fichiers dans des modules spécifiques qui ont ces champs statiques. Je souhaite migrer les références aux champs vers la version modularisée des champs appartenant aux packages spécifiques.Script Eclipse à refactoriser

Par exemple, Example.java contient:

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"); 

Je veux déplacer les références à Example.OT1 à Mod1.OT1 toute ma codebase, ainsi que changer le reste d'entre eux. J'ai des milliers de tels changements à faire.

+0

Vous pouvez également utiliser Maven pour gérer les dépendances inter-projets afin de ne pas trop compter sur Eclipse –

Répondre

1

JDT prend en charge refactoring scripts. Cependant je ne les ai jamais utilisés donc je ne sais pas ce qui est possible.

Sinon, vous pouvez essayer d'utiliser Eclipse EASE couplé avec les API JDT pour le refactoring et en particulier le move static field refactoring.

+0

Merci, j'avais déjà traversé ces avant. Y a-t-il des tutoriels pour cela ou une étape par étape sur la façon d'utiliser l'API de refactoring? Toute aide serait très appréciée!! – user3418847

+0

Bien sûr, j'ai regroupé quelques liens ici: https://github.com/JnRouvignac/AutoRefactor/wiki/Useful-links – JnRouvignac