2013-08-20 6 views
1

pack200은 JAR 파일에서 사용할 수 있지만 개별 클래스 파일에서 사용할 수 있습니까?개별 Java 클래스에서 pack200을 사용할 수 있습니까?

내 웹 서버는 x.class를 제공하기 전에 존재하지 않는 x.class.pack.gz에 대한 많은 요청을 수신합니다.

Java에서 x.class.pack.gz를 요청하면 개별 클래스를 패키징 할 수 있습니까?

JAR 파일을 입력하지 않고 pack200을 실행해도 작동하지 않는 것 같습니다.

답변

0

짧은 답변 : 제

Pack200의 형식은 큰 jar 파일의 크기를 줄이기 위해 여러 클래스 파일에서 더 큰 압축을 할 수 있도록 설계되었다. 이는 .jar 형식 (.jar 형식이 기반으로 함)이 각 파일을 개별적으로 압축하기 만하고 아카이브의 다른 파일에 대한 중복을 고려하지 않기 때문입니다.

서버의 개별 .class 파일에 대한 요청을 유발하는 원인을 조사해야합니다. Java 애플릿 또는 Webstart 응용 프로그램 용 JNLP가 .jar 파일로 압축되어있을 가능성이 있습니다. JNLP/Applet 클래스 로더의 기본 메커니즘은 파일의 압축 된 버전에 대한 요청을 발생시키고 .jar로 간주됩니다. 이러한 .class 파일을 클래스 로더를 혼란스럽게합니다. 문제가되는 애플릿/Webstart 응용 프로그램을 .jar로 다시 패키징하거나 jnlp.packEnabled 특성을 false으로 설정하여 JNLP 또는 애플릿 태그를 변경하여 요청을 방지 할 수 있습니다.

자세한 내용은 Pack200의 Oracle's documentationjnlp.packEnabled 속성을 참조하십시오.

관련 문제