Şimdi Ara

Neden bilgisayarlarda jar dosyası görmeyiz?

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
24
Cevap
0
Favori
964
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • ********************



    < Bu mesaj bu kişi tarafından değiştirildi fairytale9 -- 6 Temmuz 2020; 19:34:10 >



  • Türkiye de özellikle C#/.NET/C++ ile yazılan programlar çok fazla. Bu aslında Microsoft'un Türkiye deki satış başarısı. Çoğu işletme de bu nedenle olsa gerek C,C#,.Net gibi platformlarda Pc uygulaması geliştiriyor. Onun için bu şekilde bir durum mevcut.Ben java ile bireysel bir şeyler yapmaya çalışıyorum.Java üzerinden kendimi ilerletmeye çalışıyorum. Ama Türkiye de yaşıyorsa bir kişi sanırım diğer platformlarda daha fazla destek ve iş imkanı mevcut ve bu nedenle de insanlar bu platformlara kayıyorlar.
  • ugursalkimtas U kullanıcısına yanıt
    ********************



    < Bu mesaj bu kişi tarafından değiştirildi fairytale9 -- 6 Temmuz 2020; 19:34:17 >
  • Evet yükleme yapmak için exe ye dönüştürülüyorlar. Yani ben yaptığım programları. Exe formatına dönüştürüyorum en azından yükleme yapmak için

    < Bu ileti DH mobil uygulamasından atıldı >
  • ugursalkimtas U kullanıcısına yanıt
    ********************



    < Bu mesaj bu kişi tarafından değiştirildi fairytale9 -- 6 Temmuz 2020; 19:34:14 >
  • Kullanıcı ya sağladığı yarardan dolayı. Şöyle söyleyeyim mesela ben ufak bir Java ile program yaptım. Doğal olarak bu programın farklı kaynakları oluyor, veri tabanı, oluşturulan classlar,iframe ler ve kütüphaneler gibi gibi. Şimdi standart yazılımla ilgisi olmayan bir kişinin bu programı eksiksiz bir şekilde kurması oldukça zor. Misal veri tabanı bilgisayarım içinde c klasöründe olması gerekli ancak programın düzgün çalışması için. Bunları da son kullanıcının ayarlaması çok zor. O nedenle de exe dosyası oluşturularak biz hangi dosyaların nereye kurulacağını ayarlarız. Bu sayede de son kullanıcı programı çok daha rahat ve sancısız kullanabilir. Olası hataların önüne geçilmiş olur

    < Bu ileti DH mobil uygulamasından atıldı >
  • Bir nevi herşey dahil otel gibi,son kullanıcı sadece parayı veriyor otel geri kalan herşeyi hallediyor.

    < Bu ileti DH mobil uygulamasından atıldı >
  • Java ile yapılmış uygulamalarda jar birincil / çalıştırılabilir dosya olarak değil de, dolaylı şekilde de olabilir ve o durumlarda sadece o jar'ı başlatma amaçlı bir Windows exe oluşturulur ve o exe çalıştırıldığında java 'yı o jar ile çalıştırır, yani önplanda siz exe çalıştırdığınızı zannederken arkaplanda java (o jar'ı) çalıştırıyorduur. Bu iş için en cok kullanılan araçlardan biri launch4jhttp://launch4j.sourceforge.net 'dir.

    Aynı sekilde Tomcat'te çalışacak bir web uygulaması da coğu kez .war olarak paketlenir ancak onu Tomcat'e yerleştirdiğinizde Tomcat onu açıp .class ve/veya .jar dosyalarına ayrıştırır.
  • Executable jar dosyasi, JVM icin anlamli, OS icin degil.

    Bir programi JVM icin yazmazsin, uzerinde calisacagi target platform icin yazarsin. O platform icin de kullanilan standart executable format ne ise o halde publish edersin.

    Java ile yazilan programin executable'i bu sebeple .exe olur. Ancak library dosyalarinin arasinda bolca jar bulursun.

    Java'nin kendisini de Windows makineye kurdugunda, bin (binary) folderinda .exe formatinda , lib ( library) folderinda .jar uzantili dosyalar gorursun.

    Linux makineye kurarsan, lib folderi degismez, bin folderindakiler degisir.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • ********************



    < Bu mesaj bu kişi tarafından değiştirildi fairytale9 -- 6 Temmuz 2020; 19:34:21 >
  • Exe haline getirmiş gibi çalıştırmanın kısa yolu javaw veya "java.exe dosya.jar" şeklinde kısayol veya bat dosyası oluşturmaktır.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • programmer_onur kullanıcısına yanıt
    ********************



    < Bu mesaj bu kişi tarafından değiştirildi fairytale9 -- 6 Temmuz 2020; 19:34:24 >
  • quote:

    Orijinalden alıntı: fairytale9

    ********************
    Çift tıklayıp doğrudan yürütmek. Yine illaki Java VM yorumlayıcısı ile yani java.exe ile çalışıyor. PE (Windows) imajına çevirmek değil elbet, Java VM bytecode işletiyor sonuçta, lakin Launch4j ile alternatif üretilebiliyor.



    < Bu mesaj bu kişi tarafından değiştirildi programmer_onur -- 4 Ocak 2019; 17:24:26 >
    < Bu ileti mini sürüm kullanılarak atıldı >
  • Windowstaki dosya/dizin hiyerarşisi programa ait bütün dosyaların aynı klasörde tutulmasını zorluyor. Bir java programını zipten çıkarıp biryere atabilirsin ama windows ne .jar dosyası hakkında ne java hakkında ne de bu ikisinin ilişkisi hakkında bir bilgiye sahip değil. Bu yüzden windowsun anladığı tek format olan exe olarak paketleyip programın giriş kısmını exe içine gömüyorlar. exe ise javayı ve jar dosyalarını çalıştırıyor. Windowsta özellikle c/c++ kütüphane bağımlılıkları büyük problem. Adam gibi hiyerarşi sistemi olmadığı için programlar bütün bağımlılıklarıyla beraber kurulur. Aynı bağımlılıklar defalarca kurulur, sistemin bundan haberi olmaz.

    Linux bu konuda muazzamdır. Paket yöneticisinden bir java uygulaması indireceksen önce sistemde java (ve diğer bağımlılıklar) kurulu mu diye bakar. Kurulu değilse önce bunları kurar. Programa ait dosyaları kategorisine göre sistem klasörlerine dağıtır. Bu sayede bir bağımlılık sadece bir kez kurulur. Her uygulama için ayrı ayrı java, python, qt ve binbir çeşit kütüphane kurmaya gerek kalmaz.
  • 2006-2010 arasında LimeWire vardı; Java ile yapılmıştı ve exe olarak çalıştırılıyordu fakat bilgisayarda JRE yüklü olması gerekiyordu.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • valla bir sürü garip cevap var, sadece onur'un cevabı düzgün olmuş.



    quote:

    Bir programi JVM icin yazmazsin, uzerinde calisacagi target platform icin yazarsin. O platform icin de kullanilan standart executable format ne ise o halde publish edersin.


    saçma sapan bir ifade, bunu yazan kişinin Java bildiğinden şüphe ederim. Tabii ki JVM için yazarsın, yoksa platform bağımsızlığın ne esprisi kaldı?



    bir programı Windows'ta kullanmak için exe yapmak şart değil, eğer JRE kurduysan explorer .jar uzantısını register eder, ve içinde main olan jar'a tıkladığında program çalışmaya başlar. Eğer jvm'e extra parametreler geçmek istiyorsan .bat yazarsın, orada belirtirsin. Linux'ta da shell script ile java programını başlatmak yaygındır.



    Java yaygın, ama masaüstünde değil. Sen indirdiğim programların hepsi exe, niye jar yok diyorsun, çünkü kurumsal program indirmiyorsun, onların çoğunu da indiremezin internetten zaten, masaüstü windows programı indiriyorsun, onların hemen hepsi microsoft teknolojileri ile geliştiriliyor.



    Eğer sen exe gibi java programı hazırlamak istersen illa ki içine jre gömmek durumundasın, o nedenle minik bir program bile olsa eşşek kadar exe olur onlar hep..

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Değerli yazılımcı arkadaşlar merhaba. Konu ile ilgili boş vaktimde bahsedilen ifadeler ile ilgili kendimce birşeyler ortaya koydum. Mutabık kaldığımız gibi (revivo72 hocamın son mesajını göremiyorum, sanırım silinmiş, kendisi farklı bir program bulmuştu), JAR dosyasını linkte verdiğim programdaki gibi EXE içine gömüp, EXE'yi arayüzden "Başlat!" diyerek üretip, sonrasında üretilen EXE'yi çift tık ile normal uygulama gibi çalıştırınca gömülü JAR programınızın yine JVM ile düzgün şekilde çalışmasını kendimce programladım. GUI arayüzlü AWT tabanlı basit bir Hello World ve gelişmiş görsel JAR programları ile de sıkıntısız çalıştığını gözlemledim.

    Aslında sisteminize JRE (Java SE) kurduğunuzda Java ve Javaw gibi global Win32 (PATH ortam değişkeni içinde tanımlı olduğunu varsayıyorum) yorumlayıcılar, kurulum esnasında (ne yazık ki size sormadan) dosya türü ilişkilendirmesini yapıp .JAR uzantılı dosyaya çift tıkladığınızda da çalıştırmanıza olanak veriyor. Ama genel konu EXE olarak çalıştırmak olduğu için bu minik programcığı size sunmak istedim. İlginizi çekebilir belki diye düşündüm. Lütfen denemekten çekinmeyin.

    Not: Program tertemizdir. Çalışması için Java SE runtime 7 veya 8 ve de .NET Framework 4.0 gerekiyor. Zaten kesin bunlar sizde yüklüdür diye tahmin ediyorum. İçiniz rahat etsin diye virustotal.com raporu aşağıdadır.
    SHA-256 hash kodu: cca0231c202ca8e105648f01cb6984fc2d5bcbb19fad9e4d813b2488e7abbf3f

    Virus Total temiz raporu:
    (Donanımhaber'in URL içine soktuğu ve insanı bezdiren UTM reklam referrer'ları yüzünden linke direkt tıklamayın, tarayıcı adres çubuğuna kopyala-yapıştır yapın rapor için).

    Ya da link kısaltma yoluyla direkt tıklayın rapor için:https://bit.ly/2MoMmEs
    www.virustotal.com/#/file/cca0231c202ca8e105648f01cb6984fc2d5bcbb19fad9e4d813b2488e7abbf3f/detection

    Program indirme linki:
    https://drive.google.com/open?id=17NOC9N5iPyGg6fT5FzXscC4XJZ-F3uLr

    Ekran görüntüsü:
    Neden bilgisayarlarda jar dosyası görmeyiz?



    < Bu mesaj bu kişi tarafından değiştirildi programmer_onur -- 22 Ocak 2019; 23:55:2 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • programmer_onur kullanıcısına yanıt
    Gönderim forum veritabanındaki bir sorundan dolayı görünmüyor olmalı. O gönderide şunu yazmıştım:

    Visual C++ 'de GUI form tasarlar gibi fakat Java'yı kullanarak direkt exe yapabiliyorsun. Oluşan exe, Java 'nın garbage collector gibi özelliklerini de içerdiğinden boyutu 30-40MB gibi büyük fakat hiç JVM kurulu olmayan bilgisayarda jar'sız çalışabiliyor. SWT, Swing ve AWT'ye oldukça benziyor ancak bazı şeyleri farklı.

    Sözkonusu gönderiyi 10.Ocak ta yapmışım. Şimdi o projeyi tekrar açıp denedim ve yeni bir SS aldım ve projeyi RAR olarak (12MB civarı; exe dosyası dahil) paketledim:https://yadi.sk/d/DjqR3eiuE6qf_w Projeyi kendiniz inşa etmek isterseniz BENIOKU.md dosyasına göz atınız.

    Sizin proje güzel fakat JRE ve .NET FW 4 bağımlılığı düşündürücü. Benim Windows 7 bilgisayarda JRE 8 ve 9 var fakat .NET 4 yok, onun yerine mono-5.2 var yani denemek istesem büyük ihtimalle çalışmaz ancak yine de uygun bir zamanda deneyebilirim.

    Neden bilgisayarlarda jar dosyası görmeyiz?
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.