Java Web Start'ta uygulama

Java web start (JWS)’ı mutlaka duymuş olmalısınız. Evet ben de duydum ve bir projemde kullanmaya karar verdim. İşin içine girince basit bir projede bunu yapayım insanlarla aşama aşama nasıl yapıldığını paylaşayım dedim. Basit projemiz tamamen kendimin yazdığı bir Not Defteri olacak. Bu linkten kaynak kodu indirip Eclipse projesi şeklinde açabilirsiniz.

Daha sonra bu projenin çalıştırılabilir jarını oluşturuyoruz. (Jar Oluşturma)

Daha sonra bu jar dosyasını imzalıyoruz. (Jar İmzalama)

Jar dosyasını imzalamayı başardıktan sonra bu jar dosyasını web sunucumuzda JWS kullanarak yayınlamaya başlayabiliriz. Bunun için oluşan imzalı jar'ımızı ve aşağıda içeriği verilen jnlp dosyamızı hostumuza yüklüyoruz. jnlp dosyasının adresini tarayıcımızda yazıp girince eğer hostumuz jnlp dosyasının uygulama mime tipine sahip olduğunu biliyorsa o dosyayı direkt olarak JWS ile açacaktır. Eğer buraya kadar sorunsuz bir şekilde programımızı yükleyebildiysek o adresi tıklayan kişiler JWS sayesinde bizim not defterimizi kullanabilecektir. Bu projenin çalışan bir örneğine şuradan ulaşabilirsiniz.

notdefter.jnlp dosyası:
<?xml version="1.0" encoding="utf-8"?>
<!--Bu jnlp dosyasinin bulundugu host ve adi-->
<jnlp spec="1.0+"
codebase="http://localhost/notdefteri"
href="notdefteri.jnlp">
<!-- Programla ilgili bilgiler-->
<information>
<title>Not Defteri</title>
<vendor>Kod ve Us</vendor>
<homepage href="http://kodveus.blogspot.com/"/>
<description>Basit Not Defteri</description>
<description kind="short">Basit Bir Not Defteri</description>
<offline-allowed/>
</information>
<!-- Imzalamamizin sebebi bu not defterinin dosya islemleri yapmasi burada bu yuzden tam izin vermemiz-->
<security>
<all-permissions/>
</security>
<!-- Programin ana sinifi-->
<application-desc main-class="net.kodveus.jws.NotDefteri">
</application-desc>
<!-- Programin kullandigi kaynaklar (jar dosyalari)-->
<resources>
<!--Biz kodumuzu j2se 1.5 e gore gelistirdik-->
<j2se version="1.5+"/>
<jar href="notdefteri.jar" main="true"/>
</resources>
</jnlp>

6 yorum:

Adsız dedi ki...

Bu sitenin değerli yazarları;
Ellerinize sağlık. Bu makaleniz ilaç gibi geldi. Her türlü konuda yanınızdayım. Sevgiler.
Suat ATAN
(www.suatatan.net)

Bilge Kağan Şener dedi ki...

Merhabalar,
Bir sorunum var yardımcı olursanız çok sevinirim.
keytool ve jarsigner komutlarını command ekranında yazarken "iç ya da dış komut vs. vs. ...." bir cevap alıyorum . eğer zahmet olmazsa dosya yollarını biraz daha detaylı açabilir misiniz? mesela .jar dosyasının konumu ve komut satırını yazarken hangi root da olacağımız vs.

Adsız dedi ki...

Merhabalar,
Bir problemim var yardımcı olursanız çok sevinirim.
keytool ve jarsigner komutlarını nereye yazmamız gereklidir. hata alıyorum ve problemi bir türlü çözemedim . biraz detaylanırabilirseniz ben ve benden sonrakilere çok yardımcı olacaktır.

T. E. Kalaycı dedi ki...

Merhaba,

Bu komutları komut satırına yazmak gerekiyor. GNU/Linux dağıtımlarda terminal adıyla da bilinir. Windowslarda Command Prompt (çalıştıran komut:cmd) olarak bilinir.

Bu komutların bulunmaması durumunda PATH ayarında sorun olabilir. http://kodveus.blogspot.com/2006/04/altrlabilir-jar-dosyas-oluturma_07.html adresinde path ayarlamayı anlatmıştım, ancak yeni sürüm Windowslarda farklıysa bilemeyeceğim.

Adsız dedi ki...

Anlattığınız şekilde bir uygulama yaptım.Kendi hostuma attım çalıştırmak istedim.Uygulamayı indirdi ve açmaya çalışırken hata verdi. "Error: the following required field is missing from launch file: ". nasıl çözebilirim?

Sibel Kendibaşına dedi ki...

Merhaba,
diğer makalenizdeki gibi jar imzalama yaptım ve bu dosyayı kendi hostuma attım. daha sonra sizin burada yazdığınız kodları kendime göre düzenleyerek .jnlp uzantılı dosya oluşturdum. fakat notdefteri.jnlp dosyasına çift tıkladığımda "An error occurred while launching/running the application." şeklinde hata alıyorum bunun sebebi ne olabilir?
Teşekkürler