2012-10-24 3 views
0

이것은 시나리오입니다. 우리는 JAVA 애플릿을 만들었습니다. 우리는 JAVA 애플릿을 만들었습니다. 여기에는 풀린 제 3 자 JAR : 두 개의 클래스가 포함되어 있습니다. 우리는 애플릿에 서명하고 클라이언트에서 잘 실행됩니다. 우리는 많은 고객들이 대역폭이 부족한 네트워크에 있기 때문에 애플릿을 더 작게 만들기 위해 노력 중입니다. 그래서 pack200 포장은 내가보고있는 것입니다.포장 후 애플릿 중단

문제 :

우리의 pack200로 포장을 위해 할 단계는 기본적으로

  1. 재 포장 (사용 된 pack200 UTIL)
  2. 우리의 인증서 표시를 사용하여 우리의 애플릿 JAR을 사임 정상화 우리의 애플릿 JAR
  3. pack200 유틸리티를 사용하여 애플릿 JAR을 팩합니다.

간단하고 오류가없는 r 이 과정에서 받게됩니다. 그러나 클라이언트에서이 새로운 압축 애플릿을 수신하면 타사 JAR에 포함 된 클래스에서 SHA1 다이제스트 오류가 발생합니다.

타사 JAR은 우리 자신의 JAR과 함께 번들로 제공되지 않으며 패키지가 풀리고 클래스가 애플릿 하나의 JAR로 복사됩니다.

이 프로세스는 외부 JAR : s의 클래스를 포함하는 다른 애플릿에서 작동하므로 프로세스가 올바르게 작동한다고 생각합니다. 나는 이것이 이미 서명 된 제 3 자 JAR과 관련이 있다고 생각하지만 애플릿에 서명하여 처음부터 실행시킬 수 있기 때문에 실제로 이해하지는 못합니다.

내가 놓친 것이 있습니까? 나는 서명하는 것에 대한 전문가가 없다는 것을 인정한다. 그래서 내가 원하는대로 일을 방해하는 명백한 일이있을 수있다.

답변

0

해결책을 찾았습니다. 위의 pack200에 대한 링크에는 고정 된 플래그가 붙어 있기 때문에 쓸모없는 것으로 생각되는 버그 보고서가 있습니다. 그러나 제안 된 두 번째 작업을 사용하면 트릭을 수행하는 것 같습니다.