2009-05-13 6 views
2

툴 벤더 중 한 곳을 위해 코드의 일부를 보내야하고 프로젝트에서 참조하는 것을 모두 클래스에서 제거하고 싶습니다.모든 Java 클래스, 필드 및 메서드의 이름을 바꾸는 간단한 방법은 무엇입니까?

Java에 사용할 수있는 obfuscator가 수십 가지가 있지만 코드를 스크램블링하고 싶지는 않습니다. 가능한 한 간단하고 일관된 이름을 변경하십시오. (어쩌면 이것은 obfuscator의 일부에서 구성 가능합니까?) 가장 좋은 옵션은 클래스 A, B, C, 메소드 a1, a2, a3과 같은 것입니다 ...

도구가 어떻게 든 Eclipse의 리팩터링/이름 바꾸기 옵션과 통합되었지만 반드시 필요한 것은 아닙니다.

+0

이름을 바꿀 내용과 무엇을 바꾸는 것을 어떻게 인식합니까? –

+0

비즈니스 논리가 무엇인지 이해할 수는 없지만 문제를 재현 할 수 있기 때문에 모든 이름을 바꾸고 싶습니다. – tputkonen

답변

4

ProGuard-applymapping filename 옵션을 사용하여 사전 정의 된 매핑을 사용하여 난독 화하는 데 사용할 수 있습니다. -dontshrink-dontoptimize 옵션과 함께 사용하면 원하는대로 수행 할 수 있습니다. 나는 일반적인 이클립스 플러그인이 싫은데, 개미로 만들면 배포판에 포함 된 작업이있다.

+0

고마워, 나는 그것을 살펴 봐야 할 것이다. 우리는 maven 플러그인을 사용하기 때문에 maven을 사용하고 있습니다. – tputkonen

+0

우리가 현재 사용하고있는 프로 가드에 사용할 수있는 메이븐 플러그인이 있습니다. http://pyx4me.com/pyx4me-maven-plugins/proguard-maven-plugin/ –

0

Eclipse의 이름 바꾸기 기능에 문제가 있습니까? 이름 바꾸기에 대해 선택적이어야하는 것처럼 들리므로 일종의 매핑 파일을 만드는 것만 큼 빠를 수도 있습니다.

+0

지저분한 경향이 있고 오랜 시간이 걸립니다. –

+0

글쎄요, 출하 될 코드의 양에 달려 있다고 생각합니다. 그는 그것이 "코드의 일부"라고 말하면서 이름을 바꾸기위한 다소 적은 양의 클래스가 될 수도 있습니다. 물론 수십 개의 클래스에 대해 수동으로 이름을 바꾸고 싶지는 않을 것입니다. – Flo

+0

우리는 수십 개의 클래스를 가지고 있으며 메소드와 필드의 수는 수백 개에 이릅니다. – tputkonen

관련 문제