2010-12-08 4 views
2

.jnlp 파일을 다운로드하여 실행했습니다. 잘 돌아갑니다. 나는 그것을 닫고 다시 시작한다. 잘 돌아 간다.두 번째 실행시 Java 시작이 실패합니다. java.lang.NullPointerException

그러나 세 번째 시도에서 항상 java.lang.NullPointerException이 발생하고 응용 프로그램이 시작되지 않습니다.

컴퓨터를 다시 시작하면 다시 작동합니다. 이 문제를 어떻게 해결할 수 있습니까?

java.lang.NullPointerException 
    at com.sun.javaws.security.SigningInfo.overlapSigners(Unknown Source) 
    at com.sun.javaws.security.SigningInfo.getCertificates(Unknown Source) 
    at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source) 
    at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source) 
    at com.sun.javaws.Launcher.prepareResources(Unknown Source) 
    at com.sun.javaws.Launcher.prepareAllResources(Unknown Source) 
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) 
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) 
    at com.sun.javaws.Launcher.launch(Unknown Source) 
    at com.sun.javaws.Main.launchApp(Unknown Source) 
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source) 
    at com.sun.javaws.Main$1.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
+0

말하기 어렵고, 코드를 게시하십시오 ... – Caner

+0

분명히 서명 문제입니까? – Falmarri

+0

귀하의 신청서가 올바르게 종료되지 않았다고 생각합니다. 응용 프로그램을 닫으면 여전히 실행 중입니다. 코드 조각을 공유 할 수 있습니다 .. –

답변

5

스택 트레이스는 Bug ID 6533653Bug ID 6850598와 동일하다. 근본 원인은 JNLP의 빈 JAR 인 것 같습니다. 그들은 Java 1.6 update 2와 Java 1.6 update 18에서 각각 수정했다고합니다.

VM의 6u18이에서 :

그러나 수정은 여전히 ​​많은 상황과 같이 설명과 함께, 1.6 업데이트를 18에서 작동하지 않습니다 불평 마지막 버그의 코멘트가있다 버그는 닫히지 않습니다. 당신은 한 번 있지만 다음과 같은 예외를을 한 후 응용 프로그램을 시작할 수 있습니다 :

java.lang.NullPointerException 
    at com.sun.javaws.security.SigningInfo.overlapSigners(Unknown Source) 
    at com.sun.javaws.security.SigningInfo.getCertificates(Unknown Source) 
    at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source) 
    at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source) 
    at com.sun.javaws.Launcher.prepareResources(Unknown Source) 
    at com.sun.javaws.Launcher.prepareAllResources(Unknown Source) 
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) 
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) 
    at com.sun.javaws.Launcher.launch(Unknown Source) 
    at com.sun.javaws.Main.launchApp(Unknown Source) 
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source) 
    at com.sun.javaws.Main$1.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

을 내가 JNLP에서 빈 항아리를 제거하는 경우, 모든 괜찮습니다. 는 JNLP에서 빈 JAR을 제거하려고뿐만 아니라 JNLP 저자에보고, 그래서

게시

전에 보정을 확인하십시오.

+0

빈 병입니까? 내가 아는 한이 모두는 최소 2KB 크기입니다. – KJW

0

버전 1.6.0_18 사용자에게도이 문제가 발생했습니다.

jnlp 파일에 나열된 jar 파일을 살펴본 결과 라이센스 jar가 클래스가없는 jar에 대한 가능성있는 후보로 튀어 나온 것을 발견했습니다. 나는 이것을 jar tf으로 확인했다.

jnlp 파일에서 jar 파일을 제거 했으므로 오류가 발생하지 않았습니다. 그러나 제 3 자 라이브러리의 라이센스 병이 필요했습니다.

나는 내 응용 프로그램 항아리에 라이센스 단지를 묶어 내 빌드 파일을 업데이트

<jar jarfile="${dist}/lib/${application}.jar"> 
    <zipgroupfileset dir="${extLib}" includes="runtime.jar" /> 
... 
</jar> 

제 3 자 라이브러리가 클래스 경로에있는 라이센스 정보와 더 이상 오류를 찾을 수 있습니다!

관련 문제