signed Applet 까지 만들었는데 security 어쩌구 에러가 나네요..

hjsgoat의 이미지

서버에서 클라이언트로 데이터 전송해주면 이 데이터를 클라이언트의 로컬 파일로 저장하는 애플릿을 만들었습니다.
signed applet로 만들어줄 필요가 있다길래 keytool, jarsigner 이용해서 signed applet 만들어주고
서버로 업로드해서 실행되는 거 확인하고 여러번 테스트했습니다.

그런데 돌려보는 중에 자꾸 스레드 에러가 나더군요. 그래서 나름 원인을 생각해보고 소스 수정한 다음에
다시 이클립스에서 jar파일 익스포트하고 signing까지 똑같은 과정 다 마쳐준 다음에
서버로 다시 올려봤는데 자꾸 아래와 같은 에러가 나면서 이제는 실행도 안 됩니다 -_-;

소스도 원래대로 다 수정햇는데도 안 되길래 이유를 곰곰히 생각해보니,
프로젝트 폴더 내에, 같이 일하는 사람이 만든 external jar 파일이 포함되어 있는데요.
이 jar 파일이 저장된 폴더가 있습니다. 프로젝트/lib/#$%#.jar 이런 식으로요.
이 폴더 안에 META-INF 이거 있는거를 무심코 지워버렸습니다..(제가 아직 학생이라 잘 모릅니다 ㅠㅠ)
그 뒤로는 프로젝트 자체를 jar파일로 익스포트 할때도, 이상한 거 뜨더군요 -_-;;
지웠다가 뭐했다가 삽질해서 익스포트가 되긴 됩니다만,, 이걸 signing 해서 웹으로 올리면 아래와 같은 에러가 ㅠㅠ

프로젝트를 이클립스로 로드해서보면, 프로젝트 익스플로러에
@@@@.jar
└ META-INF
└ MANIFEST.MF
이런 식으로 표시되어 있긴 한데,, 실제 폴더에 들어가보면 그런 폴더나 파일은 없더라구요
아무래도 메니페스트의 내용이 jar파일 내에 들어있는 거 같긴한데.
저장되어있던 메니페스트 파일 지우면 이런 식의 에러가 생기는건가요 ㅠㅠ
아니면 다른 이유가 있는건지...
딴데서 얼핏 찾다가 java.policy 가 어쩌구저쩌구 그런 내용도잇던데..
java.policy는 jar 파일 만들 때 프로젝트 내에 포함시켜주기만 하면 되는건지 하나도 모르겠네요
도와주세요 ㅠ

===== System Start... =====
local info : @165.132.121.62@00:18:f3:dd:6a:84
이 위의 두 줄은 애플릿 실행시에 콘솔에 뜨게 한 내용이구요. 아래가 에러 내용입니다.
Exception in thread "thread applet-app/base/StartApp.class-2" java.lang.NoClassDefFoundError: app/base/BaseFrame
at app.base.StartApp.init(StartApp.java:47)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: app.base.BaseFrame
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 3 more
Caused by: java.io.IOException: open HTTP connection failed:http://165.132.121.62/app/base/BaseFrame.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more

bookgekgom의 이미지

jar 파일을 만들때 매인 클래스를 지정하고 만들었나요?

---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.

http://jihwankim.co.nr

여러 프로그램 소스들이 있습니다.

필요하신분은 받아가세요.

hjsgoat의 이미지

처음에 서버에 올려서 웹으로 테스팅 해볼 때는 실행이 됐어요.
근데 실행 중에 프로그램 내에 에러가 있어서, 자꾸 죽길래 디버깅 하고나서
처음에 할 때랑 똑같이 jar 파일을 만들었는데요.
위와 같은 에러가 자꾸 생기더라구요.
그래서 혹시 디버깅을 잘못했나 하고 원래대로 소스 다 바꾼 다음에 jar 파일 만들어도 안되네요 ㅠㅠ
지금 하고 있는 프로젝트 내에 다른 분이 작성한 외부 jar 파일이 있는데,
그 jar파일에 대한 메니페스트 파일을 지운 것 외에는 변경된 내용이 없는데 왜 그런지 모르겠네요 ! 흠냐 -_-;ㅋ
이클립스에서 프로젝트 익스프로러로 보면, 그 외부 jar 파일 내에 메니페스트 내용이 포함되어있는데
아오, 알바뛰는건데요 개강해서 빨리 마무리하야 되는데 죽겠네요 -_-;;

hjsgoat의 이미지

걍 jar 파일 안 만들고 프로젝트 내에 있는 폴더들 몽땅 올려버리니까 되네요 -_-;
아무래도 path를 못 찾는 거 같습니당...
그냥 이렇게라도 올리면서 디버깅이라도 먼저 해야겟네요 쩝 -0-ㅎㅎ

-----------------------------------------------------------

아 원인 찾앗따.. 별거 아니네요 -_-;
jar 파일로 export할때 warning 뜨는 파일도 export해준다에 체크를 안해놔서 -_-;
제대로 export가 안된 것뿐이엇네요..쩝 -_-;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.