2012-06-13 2 views
2

압축을 푼 .jar 파일로 시작했습니다. 해당 jar 파일의 내용에 포함 된 클래스 중 하나에서 몇 줄의 코드를 변경해야합니다. 나는 이것에 대해 다음과 같이 갔다.종속성이있는 Java 클래스 파일의 코드가 변경됩니다.

1) 소스를보기 위해 Java Decompiler에서 클래스를 연다.

2) 새 텍스트 파일에 원본을 복사하고 ".java"확장명으로 저장합니다.

3) 명령 줄에서 jdk 폴더로 이동하여 javac Classname.java를 실행하여 다시 컴파일합니다.

그러나이 클래스 코드는 일부 종속성을 가져 오므로 다시 컴파일하지 못했습니다. 나는 의존성을 가지고있다. 그들은 원래의 jar 파일 내용의 일부분이지만 컴파일 된 .class 파일이고 여러 폴더에 퍼져있다 ...

이 클래스를 성공적으로 다시 컴파일 할 수 있습니까? 종속성을 포함하는 명령 줄 코드가 있습니까?

+0

[javac] (http://docs.oracle.com/javase/6/docs)를 사용하여 컴파일 할 때 클래스 경로 ('-cp' 또는'-classpath')에 여분의 종속성을 지정하지 않겠습니까? /technotes/tools/windows/javac.html)? 'javac' 명령을 어떻게 실행하고 있습니까? – creemama

답변

2

예, -classpath 옵션을 사용하십시오.

javac -classpath original.jar Modified.java 

그런 다음 jar 파일에서 이전 클래스를 제거하고 새 클래스를 삽입 할 수 있습니다. 명령 줄을 통해이를 수행 할 수있는 간단한 방법이 없으므로 WinRAR 또는 7-zip과 같은 아카이브 응용 프로그램을 사용하는 것이 좋습니다.

+0

우수 감사합니다. 그것은 처음보다 조금 더 단순 해 보였습니다. 그래서 함께갔습니다. 둘 다 감사합니다! – parliament

관련 문제