누구든지 전에이 문제가 발생 했습니까? 애플릿을 작동시키는 데 많은 어려움을 겪고 있습니다. 내가 작동하지 않는 이유는 서버와 통신하기 위해 내 프로그램에있는 소켓 때문입니다. 그러나, 나는 그것을 멈추는 방법을 알아낼 수 없다. 그리고 구글은 도움이되지 못한다. 구글 크롬에 대한 자바 콘솔이 오류를 출력하지 않기 때문에 오류가 발생했다는 것을 알 수있다. 오류가 발생했다는 것을 알리는 오류가있는 애플릿을 클릭 한 후 팝업 만 표시한다. 코드가 필요한 경우 추가 할 것입니다. 미리 감사드립니다.Java : 보안 예외 - 잘못된 URL 리디렉션
security: --- parseCommandLine converted : -Djava.net.preferIPv4Stack=true
into:
[-Djava.net.preferIPv4Stack=true]
basic: Added progress listener: [email protected]
basic: Plugin2ClassLoader.addURL parent called for http://voidchar.com/Other/DatRLTest.jar
basic: Plugin2ClassLoader.addURL parent called for http://voidchar.com/Other/SharedClasses.jar
security: Blacklist revocation check is enabled
security: Trusted libraries list check is enabled
network: Cache entry found [url: http://voidchar.com/Other/DatRLTest.jar, version: null] prevalidated=false/0
cache: Resource http://voidchar.com/Other/DatRLTest.jar has expired.
network: Connecting http://voidchar.com/Other/DatRLTest.jar.pack.gz with proxy=DIRECT
network: Connecting http://voidchar.com:80/ with proxy=DIRECT
basic: exception: illegal URL redirect.
java.lang.SecurityException: illegal URL redirect
at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.checkUpdateAvailable(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.isUpdateAvailable(Unknown Source)
at com.sun.deploy.cache.DeployCacheHandler.get(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ignored exception: java.lang.SecurityException: illegal URL redirect
basic: Dialog type is not candidate for embedding
basic: Removed progress listener: [email protected]
basic: Loading Java Applet Failed...
security: Accessing keys and certificate in Mozilla user profile: null
security: Reset deny session certificate store
편집 : 여기 애플릿을로드하는 데 사용하는 html 코드가 있습니다.
{applet width=800 height=800 archive='DatRLTest.jar,SharedClasses.jar' code='vc.voidwhisperer.datrl.main'}
{PARAM name="java_arguments" value="-Djava.net.preferIPv4Stack=true"}
{/applet}
보다 작음 & 징후 그것 때문에 내가 그들과 함께 뭔가를 넣어 시도 좋아하지 않았다는 사실에 교체 된 것보다 더 큰.
편집 # 2 : 병에 자체 서명했습니다. 여전히 발생하고 있습니다. 이 문제를 해결하는 방법을 아직 알지 못했습니다.
마지막 편집 : irc 채널에있는 친구 덕분에 마침내 해결책을 찾았습니다. 여기가 고정 된 방법의 일반적인 요지는 다음과 같습니다
- 당신은 출력의 특정 라인을 보면 : 네트워크 : 프록시와 http://voidchar.com/Other/DatRLTest.jar.pack.gz 연결 = DIRECT.
- 해당 파일을 찾을 때 존재하지 않았습니다.
- 파일 형식에 대해 조사한 결과, jar 파일을 사용하고 jar 파일을 만들고 cmd를 열고 'pack200 example.jar.pack.gz [JarLocation]'을 입력하여 다음을 수행 할 수있는 pack200 jar입니다.
- 이제 example.jar을 jar 파일의 이름으로 바꾸되 .pack.gz는 그대로 두십시오.
- 이제 해당 파일을 애플릿과 동일한 디렉토리에 업로드하고 애플릿을 다시로드하십시오.
참고 : 애플릿이 서명되어 있는지 확인하십시오 !! 다른 사람들이 내가 가진 문제를 해결하는 데 도움이되기를 바랍니다.
클라이언트가 java 7로 업데이트되었을 때 http://www.ol-in-berlin.de/gadget/reitti.jar에서 동일한 문제가 발생했습니다.클라이언트 측에서 Java 차세대 플러그인을 비활성화하는 것은 첫 번째 (나쁨) 해결책이었습니다. 운 좋게도 나는이 게시물을 발견하고 .pack.gz 파일을 제공합니다. 공유해 주셔서 감사합니다. (어쩌면 당신은 스스로 대답으로 게시 했어야합니다.) 이제 누군가가 자세한 설명을 할 수 있다면, 왜 이런 일이 일어나고 있는지, 그것은 훌륭 할 것입니다. – bodo