Recent Posts
Recent Comments
Adsense
Archives
Visitor
Today
Total
관리 메뉴

Annotation

자바 애플릿 빨간색 X표시 (애플릿 로드 에러) 본문

Various

자바 애플릿 빨간색 X표시 (애플릿 로드 에러)

devs 2015. 1. 28. 20:29

최근 자바 보안정책으로 인하여 jre 버전을 최신으로 유지하지 않으면 더이상 애플릿과 자바스크립트와의 통신이 불가능해졌습니다.

강제적이라고 할 수 있겠네요.

jre 1.6 대의 버전을 사용하시면 자바 업데이트 유도가 나오지 않습니다. (1.6_31에서 테스트함)

따라서 보안으로 인한 jre 업데이트를 방지하려면 1.6대 버전을 사용해야 할 것 같습니다.

하지만 특별한 사유 없이는 클라이언트에게 특정 버전을 권고할 수 없습니다.

클라이언트가 타 솔루션을 사용하며 어떠한 jre를 사용할 지 모르기 때문이죠 :D

결국은 버전에 제한 없이 jre를 사용할 수 있도록 프로그램을 개발해야 하는데, 그게 쉽지 않습니다.

내 편한대로 개발해놓으면 자바쪽에서 보안문제를 사유로 꼬집고 늘어집니다.


한 예를 들어보자면,

애플릿을 사용하는 웹을 개발하였고, 유지보수도 별로 없이 평온하게 흘러가던 때가 있었습니다.

어느날 새로운 프로젝트를 담당하며 개발하던 중, 자바 업데이트 유도창이 나왔으나 업데이트를 하지 않았습니다.

그리고는 아무렇지않게 다시 개발을 하며 테스트를 하던도중 애플릿관련 함수가 전혀 먹히지 않았습니다.

자바스크립트에서도 애플릿의 함수를 호출할 수 없고, 애플릿에서도 자바스크립트 함수를 호출할 수 없었습니다.

서버쪽 로그에는 전혀 에러가 없었고, 클라이언트 로그를 살펴보니 함수를 찾지못했습니다.

아무 에러없이 잘 개발되던 시스템이 처음보는 문제가 생겨서 너무너무 당황스러웠는데요..

급하게 부랴부랴 이것저것 다 살펴보았는데도 아무런 문제가  발견되지 않았습니다.

결국 버추얼박스를 통해서 테스트해본결과 문제없이 잘 구동되길레 그때부터 곰곰히 생각해보니, 다른건 자바 버전이었습니다.

혹시나 하는 마음에 jre를 최신버전으로 업데이트 하니 잘 구동됬습니다.


위 처럼 한번 저런 일을 겪고 나니 그냥 넘어갈 수 없었습니다.

바로 클라이언트의 jre 버전을 체크하고 최신버전을 항상 파싱해와서 비교하는 기능을 추가하여 강제적으로 업데이트를 유도했습니다.

그러고 나서는 다른일들이 생겨났죠. :roll:

업데이트가 나날이 진행될수록 클라이언트의 jre는 쌓여만 갔습니다.

그러던중 가장 큰 문제가 발생했는데요.

jre체크 사이트에서는 분명 jre가 올바르게 설치되어있다고 나오는데, 납품된 시스템에만 접속하면 jre를 찾지 못하는 증상이었습니다.

근데 또 크롬에서는 되고. (???????????)

이런 경우의수가 점점 늘어났습니다.

익스에서는 안되고 크롬에서는 되고,

익스에서도 안되고 크롬에서도 안되고,

아예 jre를 로드조차 하려하지 않는 경우도 생기고..매번 새로운 문제가 발생할 때 마다 클라이언트 분들을 원격지원 해드리면서 저도 난감한적이 많았습니다.

"분명 이럴때마다 이렇게 해결하면 됬는데 이건 또 다른 증상이네요." 라면서 얼버무리고 크롬을 권장해드리고..

애플릿을 사용하는 웹을 많이 보지 못해서 저와 같은 개발자 분들이나, 클라이언트 분들이 계실지 모르겠으나 해결방안을 말씀드리겠습니다.

보안 사유로 스샷이 원본이 아니고 수정된것이니 양해부탁드립니다. :)


좌) 인터넷 익스플로러 / 우) 크롬

 

증상 1: 스크린샷의 빨간색 원처럼 익스플로러와 크롬 모두 동일하게 애플릿을 로드하지 않습니다.

로드를 하려다 실패하면 X 이미지가 출력됩니다.

따라서 자바를 올바르게 설치하여도 브라우저에 상관없이 자바가 설치된 정보를 사용하지 못하여 애플릿을 구동하지 못합니다.

원인: 자바설치가 잘못되어서 발생합니다. 삭제, 재설치를 하여도 똑같이 반복됩니다.

해결방법: 설치된 모든 자바를 삭제 후 레지스트리 편집기에서 jre를 검색하여 출력된 검색결과를 모두 제거해야 합니다.

또한 백신유틸(얄약, V3 등)을 이용하여 PC 최적화를 진행하는데, 조건은 레지스트리 및 Active X 관련 제거입니다. 레지스트리 수동편집만으로는 해결이 되지 않습니다.

자바제거, 레지스트리 편집, 최적화를 진행하였다면 자바를 재설치하여 테스트하면 됩니다.


좌) 인터넷 익스플로러 / 우) 크롬

증상 2: 스크린샷처럼 익스플로러에서는 애플릿이 로드되지 않으며, 크롬에서는 로드된 상황입니다.

이 경우 익스플로러에서 자바가 설치된 정보를 재대로 사용하지 못하여 발생하는 상황입니다.

원인: 인터넷 익스플로러의 설정문제로 인하여 발생합니다.

 

해결방법: 도구 -> 추가 기능 관리로 들어갑니다. Sun Microsystems, Inc. 항목에 존재하는 추가기능을 모두 사용함으로 변경 한 뒤에 창을 닫습니다.

그리고 도구 -> 인터넷 옵션 -> 고급탭 -> 원래대로를 선택한 뒤 다시 설정을 누릅니다.

이때 개인설정삭제를 체크하면 즐겨찾기 등이 모두 삭제됩니다. 원치 않을 경우 체크를 풀고 진행하여야 합니다.

모두 진행하였으면 익스플로러에서 확인하면 됩니다.


자주 발생하는 상황을 예를 들어 설명해드렸는데요.

사실 이 상황말고도 여러 경우의 수가 존재합니다.

대부분 크롬에서는 모두 실행이 되구요.

평균적으로 문제는 항상 익스에서 많이 발생하네요 :)

익스만세!!!!!!

개발할떄도 속썩여, 준공을 해도 속썩여, 그냥 속썩여...참 좋습니다.

그래도 10, 11 되면서 많이 개선되고 깔끔하던데요 나름 많은 발전이 있었던것 같습니다.

항상 버전업되면서 스크립트로 ie 버전체크하는것도 달라질때가 많아 그것도 번거롭지만..어쩌겠습니까 익스의 매력인데

jre 관련 문제가 생기시는 분들은 도움이 됬으면 좋겠습니다.

Comments