Bir .jar dosyasını nasıl yürütülebilir yapabilirim?


11

Ubuntu altında bir kavanoz uygulaması çalıştırmaya çalışıyorum, bu yüzden OpenJDK Java 7 Runtime'ı yükledim, ancak bu uygulamayı açtığımda bu mesajı aldım:

'/Home/aimad/Programms/jMerise/JMerise.jar' dosyası yürütülebilir olarak işaretlenmedi. Bu, güvenilmeyen bir kaynaktan indirilir veya kopyalanırsa, çalıştırılması tehlikeli olabilir. Daha fazla ayrıntı için yürütülebilir bit hakkında bilgi edinin.

Yanıtlar:


17

Her zaman yaparak bir jar dosyası çalıştırabilirsiniz java -jar JMerise.jar.

Ancak, jar dosyasının kendisini yürütülebilir yapmak için, ileti ipucu olarak yürütülebilir biti ayarlamanız gerekir. chmod +x /home/aimad/Programms/jMerise/JMerise.jarbunu başaracak.

Bundan sonra ./JMerise.jarçalıştırmak için yapabilirsiniz.

man chmod chmod'un nasıl çalıştığı hakkında bilgi verecektir.

Ayrıca bkz: https://wiki.ubuntu.com/Security/ExecutableBit


7

Dosyayı sağ tıklayın, özellikleri tıklayın, ardından İzinler sekmesine gidin ve "Bu dosyanın program olarak yürütülmesine izin ver" kutusunu işaretleyin.

resim açıklamasını buraya girin


"Dosyayı program olarak yürütmeye izin vermek" için yukarıdaki kutuyu işaretleyemezsem ne olur? Ben kontrol ediyorum, ama bir süre sonra otomatik olarak kontrol edilmez!
user961627

@ user961627 Büyük olasılıkla yürütülebilir biti desteklemeyen bir bölümde depolanmış .jar dosyanız var. Daha fazla ayrıntı için Dosyayı yürütülebilir yapamıyorum sayfasına göz atın .
wjandrea

4

Öncelikle sisteminizde uygun bir Java çalışma zamanı ortamına sahip olduğunuzdan emin olmanız gerekir. Ubuntu, resmi Java'da Oracle Java ile% 99,99 ile savaşabilen openjdk'ye sahiptir.

sudo apt-get install openjdk-7-jre

Sonraki adlı bir dosya oluşturmak java-jar-launcher.desktopiçinde ~/.local/share/applicationsve içinde aşağıdaki içeriğini koymak:

[Desktop Entry]
Type=Application
Name=Java Application Launcher
Icon=java
Exec=/usr/bin/java -jar %U
Categories=Application;Java
Terminal=False

Sonra şu satırı ekleyin ~/.local/share/applications/mimeapps.list:

application/x-java-archive=java-jar-launcher.desktop;

Şimdi jar dosyalarını başlatmak için sadece çift tıklayabilmelisiniz, eğer bir şey olmazsa, bir kavanoz dosyasına sağ tıklayın, özellikleri seçin, sonra "Birlikte Aç" sekmesine gidin ve orada "Java Uygulama Başlatıcısı" nı görmelisiniz, .

Bu yöntem tercih edilebilir (IMHO) çünkü bu şekilde tehlikeli olabilecek jar dosyalarına yürütme izinleri vermiyorsunuz. Bu yöntem yalnızca grafiksel bir ortamda çalışır ve kullanıcının dosyayı manuel olarak çift tıklaması gerekir.


2

Kavanoz uygulamanızı çalıştırdığınız için java -jar application.jarjava yolunuzda. İki basit şeye ihtiyacınız vardır: 1) #!java -jarkavanoz dosyanızın ilk satırına kabuk komut dosyalarınızda yaptığınız gibi bir yorumlayıcı ekleyin (görünüşe göre ): echo '#!java -jar' > app.jar cat application.jar >> app.jar mv app.jar application.jar

Eğer jar dosyanızın içindekiler varsa, ex ile başlar göreceksiniz .: #!java -jar PK ^lN BOOT-INF/PK ..... ..... 2) chmod +x application.jar Şimdi execute özniteliği ekleyin tarafından "self-run" mümkün ./application.jar.


0

Komut satırından bir .jar dosyası çalışıyorsa ( java -jar myFile.jar) çalışır , ancak GUI'de çift tıklamak işe yaramaz ve sudo chmod +x myFile.jarbaşarılı görünüyorsa, yine de çift tıklatarak açamazsınız ve .jar'a sağ tıklarsanız file> Properties> İzinler> "Dosyanın program olarak yürütülmesine izin ver" çalışmıyor (yani, onay kutusu tıklattıktan hemen sonra geri dönüyor), muhtemelen .jar dosyası NTFS dosya sisteminde, yürütme izinlerine izin vermiyor her dosya için ayrı ayrı. (Örneğin, ikili önyükleme yaparsanız ve Ubuntu ile Windows arasında paylaşılan bir NTFS bölümünüz varsa bu sorunla karşılaşabilirsiniz).

Başlatıcı oluşturmak (@ tusharkant15'in açıkladığı gibi) çalışacaktır, çünkü yürüttüğünüz sahnelerin arkasında /usr/bin/java.jar dosyası değil. .Jar dosyasını NTFS olmayan başka bir dosya sistemine taşımak da çalışır.

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.