JavaWebStart를 사용하여 SWT 제작
1. 웹 프로젝트를 만들고 웹 프로젝트 루트 디렉터리에 jnlp 파일을 추가합니다.예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<!--codebase URL, icon/jar URL .-->
<jnlp codebase="http://127.0.0.1:8081/webstart">
<information>
<!-- " "-" " "javaws" "javaws -viewer" Web Start, webstart -->
<!-- title : vendor: title/vendor , "javaws -viewer" (Java Application Cache Viewer) -->
<title>HelloWorld</title>
<vendor>Lively Corporation</vendor>
<description>HelloWorld Test Example for WebStart.</description>
<!--homepage : URL, help , description -->
<homepage href="http://127.0.0.1:8081/webstart/index.html"/>
<!--icon , webstart , GIF/JPEG , -->
<icon href="./images/logo.jpg"/>
<!--splash sun webstart , , -->
<icon kind="splash" href="./images/logo.jpg"/>
<!-- , javaws -offline -->
<offline-allowed/>
</information>
<resources>
<!-- j2se , 1.5+, 1.4, jnlp j2se -->
<j2se version="1.5+"/>
<!-- jar ( , ), , icons/configuration files, getResource -->
<jar href="./jar/jws/helloworld.jar"/>
</resources>
<!--application-desc , webstart jar -->
<application-desc main-class="jws.HelloWorld"/> </jnlp>
2.게시할 SWT 프로그램의 JAR 패키지를 웹 프로젝트에 추가합니다.경로는 jnlp에 적힌 것과 일치해야 합니다. 프로젝트에 응답할 디렉터리와 그림을 추가할 그림이 있다면
3.웹 프로젝트에 페이지를 만듭니다.예: index.html
<html>
<body>
<a href="HelloWorld.jnlp">HelloWorld</a>
</body>
</html>
위 세 단계를 마치면tomcat을 시작하고 브라우저에 입력http://localhost:8080/webstart/index.html하고HelloWorld 하이퍼링크를 클릭하면JavaWebStart를 시작하여 프로그램을 실행합니다.
이 때 프로그램은 의외의 이상을 일으킬 수 있음을 알립니다.아마java일 거예요.lang.reflect.InvocationTargetException 예외
원래는 문제가 없었는데 발표할 프로그램이 순수 JAVA 프로그램이라면 위쪽대로 하면 돼.그러나 여기는 안 됩니다. 왜냐하면 SWT 프로그램이 운영체제의 창 위젯 (widget) 을 호출해야 하기 때문입니다.그래서 클라이언트의 로컬 자원에 접근해야 합니다.
다음은 앞의 코드를 수정합니다.
1. 먼저 jnlp 파일을 수정하고
<security>
<all-permissions/>
</security>
게시할 프로그램이 로컬 자원에 접근할 수 있도록 합니다.
2. JavaWebStart 샌드박스의 제한으로 인해 로컬 자원에 접근하려면 발표할 JAR 패키지에 서명해야 합니다.
서명 목적: 애플릿이나 자바 웹 Start 프로그램이 클라이언트의 로컬 자원에 접근할 수 있도록 애플릿이나 JWS 프로그램jar 패키지에 디지털 서명을 해야 한다. 이후 클라이언트가 애플릿이나 JWS 프로그램을 열 때 이 프로그램이 현지 자원에 접근할 수 있는지 여부를 알려준다. 사용자가 프로그램을 사용하려면 OK를 선택할 수밖에 없다.이렇게 하면 당신의 프로그램은 어떤 접근 권한에 따라 클라이언트의 로컬 자원을 접근할 수 있습니다.서명 단계: 1.프로그램을jar 패키지로 만듭니다.이것은 더 이상 말하지 않겠습니다. eclipse,netbeans 등 개발 도구로 쉽게 포장할 수 있습니다. 2.keytool 명령으로 생성합니다.store 파일.임의의 폴더 아래에 키tool을 만듭니다.bat 파일, keytool-genkey-keystore xxx를 입력합니다.keystore -alias xxx -validity 3650에 저장하고 두 번 클릭하여 실행합니다.현재 디렉터리에 xxx를 생성합니다.키스토어 파일, -alias는 별명, -validity는 이 인증서의 유효 일수를 받습니다. 3650은 10년을 나타냅니다.(이 인증서로 서명하는 프로그램은 10년 내에 유효하다). 3.jarsigner 프로그램으로jar 패키지에 서명합니다.새 jarsinger.bat 파일, jarsigner -keystore xxx를 입력합니다.keystore helloworld.jar xxx 저장, 더블 클릭 실행, Hello World.jar가 서명됐어요.
위의 두 단계를 수정한 후에 당신의 SWT 프로그램을 발표할 수 있습니다.현재 브라우저에서 입력http://localhost:8080/webstart/index.html하고 HelloWorld 하이퍼링크를 클릭하여 프로그램을 실행하면 JavaWebStart 프로그램 관리자가 프로그램을 신뢰하는지 알려주고 실행을 클릭하면 됩니다.
이 SWT 프로그램은 릴리즈됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
m1 이클립스에 oracle cloud (오라클 클라우드)연결하기m1에는 oracle이 설치되지 않는다.... 큰맘먹고 지른 m1인데 oracle이 설치되지 않는다니... 하지만 이뻐서 용서가 된다. 이거 때문에 웹 개발 국비수업을 듣는 도중에 몇번 좌절하고 스트레스를 크게 받았...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.