2014-09-09 3 views
1

이미 배포되어 성공적으로 실행중인 jar 파일이 있습니다. 그리고 이제는 클래스에 아주 작은 문자열을 추가해야합니다. 내가 Tomcat을 다시 시작할 때 Jar 파일로 컴파일 한 후 클래스를 찾을 수 없습니다.

These are the steps so far i made: 

1.) I already decompile/extract the jar into a folder. 
2.) Open a class file in JDgui(java file viewer). 
3.) Copy the source code in notepad++ and save as fileName.java 
4.) Compile that .java as .class via cmd. 
5.) Compile the folder again as .jar file (the same as the old .jar which is running) 

지금, 그것은 오류를 보여주는 시스템을 실행 : 내가 JDGui에 해당 jar 파일을 열 때

ClassNotFoundException 

클래스가 그것입니다.

도와주세요. 감사합니다

+2

클래스 파일의 이름과 패키지가 동일한 지 확인하십시오. –

+0

다음과 같은 방법을 얻었습니까? 4) cmd를 통해 .java를 .class로 컴파일하십시오. 오류없이? – BatScream

+0

@BatScream - 내가 fileName.java를 컴파일하려고 할 때 cmd에서 javac을 사용하도록 설정하면 많은 오류가 발생하고 모든 디버그가 성공적으로 수행됩니다. 그럼 .class 파일을 만들었습니다. 새로운 .class 파일을 이전의 파일과 비교하려고하면 사용 된 변수를 제외하고는 동일합니다. – user3651476

답변

0

이것은 틀림없이 클래스 이름을 다르게하거나 다른 패키지 (다른 폴더)에 넣는 오류에서 비롯됩니다.

클래스 원본을 Java 파일에 저장하는 경우 해당 파일을 패키지가 반영된 폴더에 저장하고 폴더 구조를 적절하게 반영하여 파일의 시작 부분에 package 문을 넣어야합니다.

또한 클래스가 public로 선언 된 경우, 그것은 클래스의 이름을 딴 파일이어야합니다 : 다른 ClassName.java 심지어 컴파일되지 않습니다. 따라서이 경우에는 filename.java에 저장하면 작동하지 않습니다.

또한 수정 한 후에이 자바 파일을 다시 컴파일 할 때 comile 오류가 발생하지 않도록하십시오. 그렇지 않으면 결과가 .class이 아닙니다.

관련 문제