Mam plik JAR o nazwie helloworld.jar . Aby go uruchomić, wykonuję następujące polecenie w oknie wiersza poleceń:
java -jar helloworld.jar
Działa to dobrze, ale jak mam to zrobić podwójnym kliknięciem? Czy muszę zainstalować jakieś oprogramowanie?
Mam plik JAR o nazwie helloworld.jar . Aby go uruchomić, wykonuję następujące polecenie w oknie wiersza poleceń:
java -jar helloworld.jar
Działa to dobrze, ale jak mam to zrobić podwójnym kliknięciem? Czy muszę zainstalować jakieś oprogramowanie?
Odpowiedzi:
Najłatwiejszą drogą jest prawdopodobnie aktualizacja lub ponowna instalacja środowiska Java Runtime Environment (JRE).
Albo to:
C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" %(Uwaga: część zaczynająca się od „javaw” musi być dokładnie taka; druga część nazwy ścieżki może się różnić w zależności od używanej wersji Javy ), a następnie naciskaj przyciski OK, aż wszystkie okna dialogowe zostaną zamknięte.Który został skradziony stąd: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html
W systemie Windows Vista lub Windows 7 usunięto ręczny edytor skojarzeń plików .
Najłatwiejszym sposobem jest uruchomienie Jarfix , małego, ale potężnego darmowego narzędzia. Po prostu uruchom go, a aplikacje Java wrócą ... ponownie kliknij dwukrotnie.
Jeśli musisz rozpowszechnić plik .jar i umożliwić jego uruchamianie na komputerach innych osób z systemem Windows, możesz utworzyć prosty plik .bat w wierszu polecenia:
java -jar MyJavaTool.jar
i umieść plik .bat w tym samym katalogu, co plik .jar.
Jeśli masz plik jar o nazwie Example.jar, postępuj zgodnie z następującymi regułami:
notepad.exejava -jar Example.jar.bat.jarplik.jarplikCiekawy efekt uboczny tego powoduje problem przy uruchamianiu uruchamianych plików jar w wierszu polecenia.
Jeśli spróbujesz (w wierszu polecenia):
jarfile.jar parameter
Bez radości, ponieważ jest to tłumaczone na następujące (co nie działa):
javaw.exe -jar jarfile.jar parameter
Jednak następujące polecenie działa:
java.exe -jar jarfile.jar parameter
Jeśli zmienisz powiązanie w menedżerze plików, jak opisano powyżej, na:
"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*
Następnie możesz wpisać:
jarfile.jar parameter
w wierszu polecenia, a teraz będzie działać!
EDYCJA: (Jednak wtedy wyświetla się czarne okno konsoli po uruchomieniu aplikacji Java opartej na formularzu (bez konsoli), więc nie jest to idealne rozwiązanie)
Jeśli uruchomisz te pliki jar przez dwukrotne kliknięcie ich w systemie Windows, nie zostaną przekazane żadne parametry, więc kod Java musi obsłużyć wyjątek przepełnienia stosu i zawierać funkcję „naciśnij klawisz” na końcu lub okno po prostu zniknie.
Aby przekazać parametr w systemie Windows, musisz utworzyć skrót do pliku jar, który zawiera parametr w linii docelowej (kliknij prawym przyciskiem myszy skrót i wybierz właściwości), nie możesz dodawać parametrów do samej ikony pliku jar w tym sposób.
Nie ma tutaj jednego spójnego rozwiązania, ale miałbyś ten sam problem z każdą inną aplikacją konsolową.
Istnieje bezpłatna aplikacja dla systemu Windows o nazwie „bat to exe”, której można użyć do utworzenia pliku exe z pliku .bat z odpowiednim wierszem poleceń. Za pomocą tej aplikacji możesz również osadzić plik jar w pliku exe i wyczyścić go po zakończeniu działania, co może być bardziej eleganckim rozwiązaniem.
W Windows XP * potrzebujesz tylko 2 poleceń powłoki :
C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %*
C:\>assoc .jar=myjarfile
oczywiście używając poprawnej ścieżki do środowiska JRE i dowolnej nazwy zamiast myjarfile .
Aby tylko sprawdzić bieżące ustawienia:
C:\>assoc .jar
C:\>ftype jarfile
tym razem wykorzystując wartość zwróconą przez pierwsze polecenie, jeśli istnieje, zamiast jarfile.
* nie testowano w systemie Windows 7
Jest sposób bez konieczności wprowadzania zmian na komputerze przez użytkownika. Runtime.getRuntime.exec () pozwala nam uruchomić cmd.exe i wykonywać w nim polecenia. Tak więc możliwe jest, że program Java uruchomi się w wierszu polecenia, gdy użytkownik kliknie plik .jar.
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
}
}
Oprócz wszystkich innych sugestii należy wziąć pod uwagę jeszcze jedną rzecz. Czy Twój helloworld.jar jest programem konsolowym? Jeśli tak, to nie sądzę, że będziesz w stanie przekształcić go w plik jar, który można kliknąć dwukrotnie. Programy konsolowe używają zwykłego okna powłoki cmd.exe dla swoich danych wejściowych i wyjściowych. Zwykle „program uruchamiający” jar jest powiązany z javaw.exe, który nie tworzy okna powłoki poleceń.
Korzystam z systemu Windows 7 x64 i nie mogłem użyć żadnej z tych poprawek.
Ten działał dla mnie mimo wszystko:
http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi
Istnieje archiwum, które można pobrać, zawierające plik .bat do uruchomienia, ale sprawdź ścieżkę rzeczywistego pliku javaw.exe !!!!
Chcesz sprawdzić kilka rzeczy; jeśli jest to twój własny plik jar, upewnij się, że zdefiniowałeś klasę główną w manifeście. Ponieważ wiemy, że można go uruchomić z wiersza polecenia, drugą rzeczą jest utworzenie skrótu do systemu Windows i zmodyfikowanie właściwości (musisz się rozejrzeć, nie mam komputera z systemem Windows), aby polecenie, które wykonuje przy otwartym to wspomniane polecenie java -jar.
Inna sprawa: jeśli coś nie jest zdezorientowane, i tak powinno działać; sprawdź i upewnij się, że masz rozszerzenie Java dla rozszerzenia .jar.
Niestety nie jest to takie proste, ponieważ Microsoft usunął zaawansowane okno dialogowe skojarzenia plików w ostatnich edycjach systemu Windows. - W nowszych wersjach systemu Windows można określić tylko aplikację, która będzie używana do otwierania pliku .jar.
Naprawienie otwarcia pliku .jar w systemie Windows wymaga dwóch kroków.
Otwórz Panel sterowania i wybierz „Programy domyślne -> Ustaw powiązania”. Znajdź tam rozszerzenie .jar ( plik wykonywalny JAR ) i wybierz Java jako domyślny program do otwierania tego rozszerzenia. Prawdopodobnie będzie wymieniony jako „ Java Platform (SE) ”. Być może szybszą alternatywą jest proste kliknięcie pliku .jar prawym przyciskiem myszy, a następnie zmiana powiązanego programu poprzez kliknięcie przycisku „Zmień ...”.
Teraz otwórz regedit i otwórz HKEY_CLASSES_ROOT\jarfile\shell\open\commandklucz. Na szczęście dla nas możemy określić parametry (Default)wartości. W moim systemie Windows wygląda to tak: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*w większości przypadków jest to następujący ciąg:C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
UWAGI:
java.exetam, ponieważ spowoduje to otwarcie okna powłoki.Miałem ten sam problem w systemie Windows 10. Naprawiłem go, klikając prawym przyciskiem myszy plik „ helloworld.jar ”, i przejdź do właściwości i kliknij przycisk Zmień w obszarze „Otwiera się za pomocą” i wybierz „ Wyszukaj inną aplikację na tym komputerze ”. W oknie dialogowym „ Otwórz za pomocą ... ” przejdź do lokalizacji folderu Java na komputerze i otwórz odpowiedni folder jdk, a następnie otwórz folder bin i wybierz „ javaw.exe ”. Następnie następnym razem twój „ helloworld.jar ” otworzy się normalnie.
Przykład lokalizacji java: „ C: \ Program Files (x86) \ Java \ jdk1.8.0_111 \ bin ”.
Innym sposobem uruchamiania plików jar za pomocą kliknięcia / dwukrotnego kliknięcia jest dodanie „-jar” do nazwy pliku. Na przykład zmieniłbyś nazwę pliku MyJar.jarna-jar MyJar.jar .
Oczywiście musisz mieć .classpowiązane pliki java.exe. To może nie działać we wszystkich przypadkach, ale działało dla mnie większość razy.
Nakaz : Jeśli monit pojawi się i zniknie natychmiast, przyczyną jest to, że program zostanie wykonany i automatycznie się zamknie. Spróbuj umieścić skaner na końcu, aby zakończyć, a będzie monitował o wprowadzenie danych przed zakończeniem. (Lub użyj opóźnienia)
Był w tej samej sytuacji, w której uruchomienie .jar z cmd działało dobrze, ale podwójne kliknięcie nic nie zrobiło.
Rozwiązanie: Otwórz dowolny edytor tekstu i wpisz wiersz polecenia: java -jar Przykład.jar Zapisz plik jako plik .bat. Uruchom ten plik nietoperza, aby uzyskać potrzebne dane wyjściowe.
Robiąc krok do przodu, możesz przekonwertować ten plik nietoperza na plik exe za pomocą prostego narzędzia GUI, takiego jak Bat To Exe Converter.
Teraz możesz udostępnić plik .jar jako plik dystrybucyjny w pliku .exe, z którego każdy może korzystać, po prostu upewnij się, że wszystkie pliki są razem. (Zwłaszcza pliki .jar i .bat powodują, że .bat jest tylko poleceniem cmd) (Jak to logiczne)
Jestem całkiem nowy w rozwoju i dużo się uczę. Przepraszam za ewentualne błędy, jeśli zostaną popełnione. Sugestie są mile widziane.
użyj
.batpliku:
Umieść swoje polecenie w pliku .bat. tutaj będzie twoje polecenie java -jar path\yourJarName.jar.
Something like: java -jar C:\workspace\myApplication.jar
Zapisz go i kliknij dwukrotnie plik nietoperza, aby uruchomić słoik. Twoja nazwa pliku będzie podobna dofileName.bat
Jeśli używasz Eclipse do tworzenia plików Java, możesz wyeksportować go jako plik jar do uruchomienia. Zrobiłem to z moimi programami i mogę po prostu kliknąć słoik, a on będzie działał w ten sposób. Działa to zarówno w systemie Windows, jak i OS X.
Zaczynam. Nietoperz był jedyną rzeczą, która działała dla mnie.
otwórz dokument tekstowy i wprowadź. java -jar, jakkolwiek się nazywa .jar
zapisz jako start.bat w tym samym folderze co plik .jar, który chcesz uruchomić. a następnie uruchom. nietoperz
Jeśli chcesz uruchomić plik jar, klikając go dwukrotnie, musisz go utworzyć jako „ Runarable JAR ”. możesz to zrobić po prostu za pomocą swojego IDE.
Jeśli używasz Eclipse, wykonaj następujące kroki:
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.
więcej informacji można znaleźć na stronie pomocy Eclipse: LINK
Istnieje wiele metod uruchamiania pliku .jar w systemie Windows. Jeden z nich korzysta z wiersza polecenia.
Kroki :
Kroki:
1.) wyszukaj środowisko Java SE Runtime Environment w Google: https://www.google.com/search?q=Java+SE+Runtime+Environment
2.) zainstaluj odpowiednią wersję na swoim komputerze
Do kompilacji:
javac -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.java
Do biegania:
java -cp ".;./mysql-connector-java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart
Właściwie napotkałem również ten problem, poradziłem sobie z tym, tworząc program uruchamiający .bat dla mojego pliku jar
tutaj jest kod:
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;
}
}
}
Następnie w swojej głównej klasie aplikacji wykonaj następujące czynności:
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();
}
}
ten kod (mój kod) działa tylko z plikiem jar, a nie plikiem klasy.
plik jar musi mieć taką samą nazwę, jak ciąg „jarName” to klasa główna