2013-09-02 5 views
2

Java Applet에 서명하려고합니다. 나는 인증서 만들려면 다음 줄을 실행 : 모든 것이 잘 작동에 여기까지자체 서명 jar 파일, JarSigner 클래스가 없습니다.

keytool -genkey -keystore myKeyStore -alias ben 
keytool -selfcert -keystore myKeyStore -alias ben 

합니다. 암호 및 일부 세부 정보가 필요하며 MyKeyStore 파일을 만듭니다. 그런 다음

나는이 줄을 실행합니다

jarsigner -keystore myKeyStore nnis.jar ben 

를 보이지 않고 말해 수 있습니다 :

Error: Could not find or load main class sun.security.tools.JarSigner 

파일 인 tools.jar가 (있는 JarSigner.class이 존재)에있는 " PATH "라고하고, 확실하게 jarsigner 명령을 실행하는 로컬 dir에 복사했습니다.

내가 뭘 잘못하고 있니?

나는 모든 조언을 주셔서 감사합니다. 문제를 해결하거나 우회하는 것입니다.

+1

* "내가 뭘 잘못하고 있니?"* 시작하기. * "명령을 실행 한 디렉토리에 tools.jar 파일 (JarSigner.class가 있음)을 넣습니다."* Don ' 그러지 마. JRE의 구성 요소를 설치 한 위치에두고 해당 위치를 경로에 추가하십시오. –

+0

감사합니다 앤드류, 나는 또한 경로에 dir을 추가했지만 도움이되지 않았습니다. (나는 편집하여 질문을 명확하게 할 수 있습니다 ...) – user1028741

+0

PATH에 대해 잊어 버렸습니다. JAR 파일은 PATH에서 찾지 않고 CLASSPATH에서 찾거나 JDK 또는 JRE의 설치 디렉토리에 직접 검색합니다. 전체 JDK 또는 JRE를 원래대로 되돌려 놓고 무의미하게 주위를 들여다보기 전에 시작하십시오. 필요한 경우 다시 설치하십시오. – EJP

답변

5

Jarsigner.exe는 자체 위치를 기준으로 tools.jar을 검색합니다. JDK에, 그들은이에 있습니다만큼 당신이 상대적으로 동일한 폴더 구조를 유지하기로

<jdk-install-folder>\bin\jarsigner.exe 
<jdk-install-folder>\lib\tools.jar 

, 그것은 jarsigner의 클래스를 찾아야한다. 예를 들어, jarsigner.exe가 C : \ Temp \ YourFolder \ jarsigner.exe 인 경우 tools.jar을 C : \ Temp \ lib \ tools.jar에 넣어야합니다.