JAR dosyasını Windows'ta çalıştırma


229

Helloworld.jar adlı bir JAR dosyam var . Çalıştırmak için, bir komut satırı penceresinde aşağıdaki komutu yürütüyorum:

java -jar helloworld.jar

Bu iyi çalışıyor, ancak bunun yerine çift tıklama ile nasıl çalıştırabilirim? Herhangi bir yazılım yüklemem gerekiyor mu?


1
Burada açıklanan adımları izleyin: Çift tıklamayla Vista'da bir Kavanoz
yürütme

Yanıtlar:


124

En kolay yol muhtemelen Java Runtime Environment (JRE) yazılımını yükseltmek veya yeniden kurmaktır.

Veya bu:

  • Windows Gezgini'ni açın, Araçlar'dan 'Klasör Seçenekleri ...' ni seçin.
  • Dosya Türleri sekmesini tıklatın, aşağı kaydırın ve JAR Dosya türü'nü seçin.
  • Gelişmiş düğmesine basın.
  • Dosya Türünü Düzenle iletişim kutusunda, Eylemler kutusunda aç'ı seçin ve Düzenle ... seçeneğini tıklayın.
  • Gözat düğmesine basın ve Java yorumlayıcı javaw.exe konumuna gidin.
  • Eylem gerçekleştirmek için kullanılan uygulama alanında, aşağıdakine benzer bir şey görüntülemeniz gerekir C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" %(Not: 'javaw' ile başlayan bölüm tam olarak böyle olmalıdır; yol adının diğer bölümü kullandığınız Java sürümüne bağlı olarak değişebilir ) ardından tüm iletişim kutuları kapanana kadar Tamam düğmelerine basın.

Buradan çalınan: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html


13
kolay yolu, herhangi bir sağ tıklayın jar dosyası> ile açın ve "Java çalışma ortamı" seçti düşünüyorum. :)
Kassem

bunu yaparken, her zaman bu hatayı bana "Java platformu SE ikili çalışma durdu" verir ... Herkes yardımcı olabilir, sorun ne olabilir?
Faizan

1
@Faizan - Sorununuz ayrı bir sorun gibi geliyor. "Java platformu SE binary çalışmıyor" için birkaç SO ve Google sonucu görüyorum. Bunları kontrol ederdim.
Brian Kelly

26
7'deki Klasör seçeneklerinde Dosya Türleri sekmesi yok
Radu Simionescu

79

Windows Vista veya Windows 7'de manuel dosya ilişkilendirme düzenleyicisi kaldırılmıştır.

En kolay yol, küçük ama güçlü bir ücretsiz araç olan Jarfix'i çalıştırmaktır . Sadece çalıştırın ve Java uygulamalarınız geri döndü ... tekrar çift tıklanabilir.


Bahşiş için teşekkürler, eğer sadece bu küçük (un) "kullanılabilir" yeni kutulardan kurtulmanın bir yolu olsaydı
LoG

55

.Jar dosyanızı dağıtmanız ve diğer kişilerin Windows bilgisayarlarında çalıştırılabilir hale getirmeniz gerekiyorsa, komut isteminde aşağıdaki gibi basit bir .bat dosyası oluşturabilirsiniz:

java -jar MyJavaTool.jar

ve .bat dosyasını .jar dosyanızla aynı dizine yerleştirin.


Peki .bat nasıl yürütülür? Java uygulamasının bir komut satırı oturumu açmasını sağlamak için de aynı strateji geçerli midir?
Ungeheuer

1
Hayır, sadece yarasa dosyasını açarsınız. Sorunu anladığımdan emin değilim.

26

Örnek.jar adlı bir jar dosyanız varsa, aşağıdaki kuralları izleyin:

  1. Bir notepad.exe
  2. Yazmak : java -jar Example.jar
  3. Uzantı ile kaydedin .bat
  4. .jarDosyayı içeren dizine kopyalayın
  5. .jarDosyanızı çalıştırmak için çift tıklayın

4
1) Mac'te işe yaramaz. veya Unix. 2) Gereksiz bir dosya oluşturur. 3) 2 yıl önce daha iyi cevaplar verildi. 4) ..Ve bu kelime 'sen'.
Andrew Thompson

Windows'ta bir kavanoz çalıştırmak için harika bir yol! Komut satırı girişini de gizlemiyor, bu yüzden kavanozumun neden düşündüğüm gibi çalışmadığını görebiliyordum. Teşekkür ederim.
Joe

15

Bunun ilginç bir yan etkisi, komut isteminde çalıştırılabilir jar dosyalarını başlatırken soruna neden olur.

Denerseniz (komut isteminde):

jarfile.jar parameter

Sevinç yok, çünkü bu aşağıdakine çevriliyor (işe yaramaz):

javaw.exe -jar jarfile.jar parameter

Ancak, aşağıdaki komut çalışır:

java.exe -jar jarfile.jar parameter

Dosya yöneticisindeki ilişkilendirmeyi yukarıda açıklandığı gibi değiştirirseniz:

"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*

Sonra şunu yazabilirsiniz:

jarfile.jar parameter

komut isteminde ve şimdi çalışacak!

EDIT: (Ancak form tabanlı (konsol dışı) bir Java uygulaması çalıştırdığınızda siyah konsol penceresi olsun, bu nedenle bu ideal bir çözüm değildir)

Bu jar dosyalarını pencerelerde çift tıklatarak çalıştırırsanız, Java kodunuzun yığın taşması istisnasını işlemesi ve sonunda bir "bir tuşa bas" işlevi eklemesi gerekir; aksi takdirde pencere kaybolur.

Pencerelerde bir parametre iletmek için jar dosyasına bir hedef kısayolunu oluşturmanız gerekir, bu parametre hedef satırda (kısayolu sağ tıklayın ve özellikleri seçin) bu dosyaya jar dosyası simgesinin kendisine parametre ekleyemezsiniz. yol.

Burada tek ve tutarlı bir çözüm yoktur, ancak diğer konsol uygulamalarında da aynı sorunu yaşarsınız.

İçinde uygun komut satırı ile bir .bat dosyasından bir exe dosyası oluşturmak için kullanabileceğiniz "bat to exe" adlı bir windows ücretsiz uygulama vardır. jar dosyasını bu uygulama ile exe'ye gömebilir ve çalışmayı bitirdiğinde temizleyebilirsiniz, böylece bu daha zarif bir çözüm olabilir.


11

Cmd'de ilk ayarlanan yol (komut istemi):

set path="C:\Program Files\Java\jre6\bin"

sonra yaz

java -jar yourProgramname.jar 

9

Windows XP * işletim sisteminde yalnızca 2 kabuk komutuna ihtiyacınız vardır :

   C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %* 
   C:\>assoc .jar=myjarfile  

açıkça JRE için doğru yolu ve bunun yerine istediğiniz herhangi bir adı kullanarak myjarfile.

Sadece mevcut ayarları kontrol etmek için:

   C:\>assoc .jar  
   C:\>ftype jarfile  

bu sefer, yerine birinci komut tarafından döndürülen değeri kullanarak jarfile.

* Windows 7 ile test edilmemiştir


1
Anonim bir kullanıcı bunu Windows 7 (JRE 7) ile test etti. Yönetici olarak cmd çalıştırırsanız işe yaradığını söylüyorlar.
Jeremy Stein

Gözlerimdeki en iyi çözüm. Windows 10'a kadar çalışır. Ftype ve assoc komutları, yönetici ayrıcalıklarına sahip bir komut istemi penceresinde çalışmalıdır.
17:47

7

Kullanıcının bilgisayarında değişiklik yapmasına gerek kalmadan yol var. Runtime.getRuntime.exec (), cmd.exe dosyasını başlatmamızı ve içindeki komutları çalıştırmamızı sağlar. Bu nedenle, java programının kullanıcı .jar dosyasını tıklattığında komut isteminde kendini çalıştırması mümkündür.

public static void main(String[] args) throws IOException {
    if(args.length == 0) {
        Process p = Runtime.getRuntime().exec("cmd.exe /c start java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
    } else {
        //code to be executed
    }
}

6

Diğer tüm önerilerin yanı sıra, göz önünde bulundurmanız gereken başka bir şey daha var. Helloworld.jar bir konsol programı mı? Eğer öyleyse, o zaman çift tıklanabilir bir kavanoz dosyasına yapabileceğinize inanmıyorum. Konsol programları giriş ve çıkışları için normal cmd.exe kabuk penceresini kullanır. Genellikle jar "başlatıcısı" bir komut kabuğu penceresi oluşturmayan javaw.exe dosyasına bağlıdır.



4

Regedit'te açık HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command

Soldaki varsayılana çift tıklayın ve java.exeyol ile " %1" argümanı arasına -jar ekleyin .


Bu oydu. Teşekkürler. Diğer tüm şeyler yardımcı olmadı.
raedma

3

Birkaç şeyi kontrol etmek istiyorsunuz; bu kendi jar dosyanızsa, manifest'te bir Main sınıfı tanımladığınızdan emin olun. Komut satırından çalıştırabileceğinizi bildiğimizden, yapılacak başka bir şey bir windows kısayolu oluşturmak ve özellikleri değiştirmek (etrafa bakmanız gerekecek, bakmak için bir Windows makinem yok) açıkta yürüttüğü komut, bahsettiğiniz java -jar komutudur.

Başka bir şey: eğer bir şey karışık değilse, yine de çalışması gerekir; kontrol edin ve .jar uzantısı ile ilişkili java olduğundan emin olun.


1

Ne yazık ki, Microsoft son Windows sürümlerinde gelişmiş dosya ilişkilendirme iletişim kutusunu kaldırdığı için o kadar kolay değil. - Daha yeni Windows sürümlerinde yalnızca .jar dosyasını açmak için kullanılacak uygulamayı belirtebilirsiniz.

Windows'ta .jar dosyası açılmasını düzeltmek için iki adım gerekir.

  1. Denetim Masası'nı açın ve "Varsayılan Programlar -> İlişkileri Ayarla" yı seçin. Orada .jar uzantısını ( Yürütülebilir JAR dosyası ) bulun ve bu uzantıyı açmak için varsayılan program olarak Java'yı seçin. Muhtemelen " Java Platformu (SE) " olarak listelenecektir . Daha hızlı bir alternatif, bir .jar dosyasına doğrudan sağ tıklamak ve sonra "Değiştir ..." düğmesine tıklayarak ilişkili programı değiştirmek.

  2. Şimdi regedit'i açın ve HKEY_CLASSES_ROOT\jarfile\shell\open\commandanahtarı açın . Luckilly bizim için, (Default)değer için orada parametreler belirtebiliriz . Windows sistemimde şöyle görünüyor: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*ancak çoğu durumda şu dize:C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

NOTLAR:

  • java.exeKabuk penceresini açacağı için orada kullanmayın .
  • Jarfix bu parçacığı belirtilen aracı büyük olasılıkla sizin için kayıt modifikasyonu daha hiçbir şey yapmaz. Sistem yöneticisinin kayıt defteri değişikliğini ağdaki tüm iş istasyonlarına "zorlayabileceği" anlamına gelen el ile kayıt defteri değiştirme yöntemini tercih ederim.

1

Ben kullanarak sabit, Windows 10. I aynı problem vardı righ tıklama "konulu helloworld.jar " ve gidin özellikleri ve tıklayın değişim "ile Açıldı:" altındaki butona ve "seçeneğini Bu PC'de başka bir uygulama için Look ". "Birlikte aç ... " iletişim kutusunda, PC'nizdeki Java klasörü konumunuza gidin ve ilgili jdk klasörünü açın ve bin klasörünü açın ve oradan " javaw.exe " yi seçin . Sonra bir dahaki sefere " helloworld.jar " normal şekilde açılacaktır.

Genel java konumu örneği: " C: \ Program Files (x86) \ Java \ jdk1.8.0_111 \ bin ".


1

Jar dosyalarını bir tıklama / çift tıklama ile çalıştırmanın başka bir yolu da, dosya adının başına "-jar" eklemektir. Örneğin, dosyayı yeniden adlandırmak istiyorum MyJar.jariçin -jar MyJar.jar.

Elbette .classile ilişkili dosyalara sahip olmalısınız java.exe. Bu her durumda işe yaramayabilir, ancak çoğu zaman benim için çalıştı.


1

PreScript : İsteminiz görünür ve hemen kaybolursa, bunun nedeni programınızın çalıştırılması ve otomatik olarak kapanmasıdır. Sonlandırmak için bir tarayıcıyı sonuna koymayı deneyin; sonlandırmadan önce isteminizin giriş beklemesini sağlar. (Veya gecikme kullanın)

Aynı durumda, cmd .jar çalışan iyi çalışıyor, ama çift tıklama hiçbir şey yapmadı.

Çözüm: Herhangi bir metin düzenleyicisini açın ve komut satırını yazın: java -jar Örnek.jar Dosyayı .bat dosyası olarak kaydedin. Gerekli çıktıyı almak için bu yarasa dosyasını çalıştırın.

Bir adım ileri giderek, bu yarasa dosyasını Bat To Exe Converter gibi basit bir GUI aracını kullanarak exe dosyasına dönüştürebilirsiniz.

Şimdi .jar dosyanızı herkesin kullanabileceği bir dosya olarak paylaşabilirsiniz. (Özellikle .jar ve .bat dosyası .bat yalnızca bir cmd istemidir) (Mantıksal nasıl hissedilir)

Geliştirme ve öğrenme konusunda oldukça yeniyim. Lütfen taahhüt edilirse herhangi bir hata için özür dileriz. Öneriler bekliyoruz.


1

kullanmak .batdosyasını:

Komutunuzu bir .bat dosyasına koyun. burada, emriniz olacak java -jar path\yourJarName.jar. Something like: java -jar C:\workspace\myApplication.jar

Kaydedin ve kavanozunuzu çalıştırmak için yarasa dosyasına çift tıklayın. Dosya adınız şöyle bir şey olacakfileName.bat


0

Java dosyalarınızı yapmak için eclipse kullanıyorsanız, çalıştırılabilir bir jar dosyası olarak dışa aktarmayı seçebilirsiniz. Bunu programlarım ile yaptım ve sadece kavanoza tıklayabilirim ve tıpkı böyle çalışacaktır. Bu, hem x hem de os x üzerinde çalışacaktır.



0

Bir start.bat yapmak benim için işe yarayan tek şeydi.

bir metin belgesi açın ve girin. java -jar sizin adınız ne olursa olsun .jar

Çalıştırmak istediğiniz .jar dosyasıyla aynı klasöre start.bat olarak kaydedin. ve sonra. yarasa


0

Jar dosyasını çift tıklatarak çalıştırmanız gerekiyorsa, dosyayı bir " Runnable JAR " olarak oluşturmanız gerekir . bunu sadece IDE'nizle yapabilirsiniz.

Tutulma kullanıyorsanız şu adımları izleyin:

    To create a new runnable JAR file in the workbench:

1.From the menu bar's File menu, select Export.
2.Expand the Java node and select Runnable JAR file. Click Next.
3.In the  Opens the Runnable JAR export wizard Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
4.In the Export destination field, either type or click Browse to select a location for the JAR file.
5.Select an appropriate library handling strategy.
Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

daha fazla bilgi Eclipse yardım sayfasında bulunabilir Sayfa: LINK


0

Windows'ta .jar dosyasını çalıştırmak için birçok yöntem vardır . Bunlardan biri komut istemini kullanıyor.

Adımlar:

  1. Komut istemini aç (Yönetici olarak çalıştır)
  2. Şimdi kök dizin için "cd \" komutunu yazın
  3. "Java jar dosyaadı.jar" yazın Not: WinRAR, jarfix vb. Gibi üçüncü taraf uygulamaları da kullanabilirsiniz.


0

.batDosya oluştur :

start javaw -jar %*

Ve .jarbu .batdosyayla açmak için uygulama varsayılanını seçin .

Dosyanızı cmdbaşlattığınızda kapanacaktır .jar.


0

Derlemek için:

javac  -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.java

Koşu için:

java  -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart

0

Aslında, ben de bu sorunla karşı karşıya, benim jar dosyası için bir .bat koşucu yaparak onunla aldım

kodu:

class FileHandler{
   public static File create_CMD_Rnner(){
      int exitCode = -1625348952;
      try{
           File runner = new File(Main.batName);
           PrintWriter printer = new PrintWriter(runner);
           printer.println("@echo off");
           printer.println("title " + Main.applicationTitle);
           printer.println("java -jar " + Main.jarName + " " + Main.startCode );
           printer.println("PAUSE");
           printer.flush();
           printer.close();
           return runner;
       }catch(Exception e){
           System.err.println("Coudln't create a runner bat \n exit code: " + exitCode);
           System.exit(exitCode);
           return null;
       }
   }
}



Ardından, Ana uygulama sınıfınızda şunları yapın:

public class Main{
    static String jarName = "application.jar";
    static String applicationTitle = "java Application";
    static String startCode = "javaIsTheBest";
    static String batName = "_.bat";


    public static void main(String args[]) throws Exception{
        if(args.length == 0 || !args[0].equals(startCode)) {
            Desktop.getDesktop().open(FilesHandler.create_CMD_Rnner());
            System.exit(0);
        }else{
            //just in case you wanted to hide the bat
            deleteRunner();
            // Congratulations now you are running in a cmd window ... do whatever you want
            //......
            System.out.println("i Am Running in CMD");
            //......
            Thread.sleep(84600);
        }
    }


    public static void deleteRunner(){
        File batRunner = new File(batName);
        if(batRunner.exists()) batRunner.delete();
    }
}


Lütfen bunu not al

  1. bu kod (kodum) bir sınıf dosyası ile değil, sadece bir jar dosyası ile çalışır.

  2. jar dosyası "jarName" Dizesi ile aynı ada sahip olmalıdır Ana sınıf

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.