Utworzono plik wykonywalny .jar
. Jak mogę wykonać .jar
używając pliku wsadowego bez podawania ścieżki klasy?Uruchom plik .jar z pliku wsadowego
Odpowiedz
Jeśli dwukrotne kliknięcie pliku .jar w Eksploratorze Windows działa, to powinieneś być w stanie korzystać z tego:
start myapp.jar
w pliku wsadowym.
Komenda Windows start
wykonuje dokładnie to samo za sceną, co dwukrotne kliknięcie pliku.
Daje błąd, że system Windows nie może znaleźć pliku myapp.jar (mój plik JAR). – Arivu2020
@ Arivu2020: Czy jesteś we właściwym katalogu?Być może twój plik wsadowy musi wykonać 'cd c: \ path \ to \ my \ stuff' przed próbą uruchomienia pliku jar? – RichieHindle
Tak samo, jak w konsoli poleceń. Skopiuj dokładnie te polecenia w pliku wsadowym.
Aby uruchomić plik z wiersza poleceń .jar
, wystarczy użyć:
java -jar YourJar.jar
Aby to zrobić jako plik wsadowy, wystarczy skopiować polecenie do pliku tekstowego i zapisać go jako .bat
:
@echo off
java -jar YourJar.jar
Po upewnieniu się, że drugie polecenie nie jest drukowane, wystarczy @echo off
.
'@echo ...' jest tylko dla okien ... –
@Carlos: Założono, że jako OP poprosił o plik wsadowy, że korzystali z systemu Windows. – mdm
po prostu notatka ... –
Jeśli chcesz plik wsadowy do uruchomienia pliku jar, uczynić pusty plik o nazwie runjava.bat z treścią:
java -jar "C:\myjarfile.jar"
java -jar "C:\\myjarfile.jar"
może trzeba dodać "\\"
do komendy. Spróbuj tego!
W systemie Windows można użyć następującego polecenia.
start javaw -jar JarFile.jar
W ten sposób okno wiersza polecenia nie pozostaje otwarte.
Moje rozumienie pytania polega na tym, że OP stara się unikać określania ścieżki klasy w jego linii poleceń. Możesz to zrobić, umieszczając ścieżkę klasy w pliku manifestu.
W manifeście:
Class-Path: Library.jar
Niniejszy dokument zawiera więcej szczegółów:
http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html
Aby utworzyć słoik pomocą oczywistego plik o nazwie manifeście, można użyć następującego polecenia:
jar -cmf MANIFEST MyJar.jar <class files>
Jeśli wybierzesz względną klasę pa ths (tj. inne słoiki w tym samym katalogu), możesz przenieść słoik dookoła, a plik wsadowy wspomniany w odpowiedzi mdm będzie działał.
Istnieje rozwiązanie, które nie wymaga określenia ścieżki pliku jar wewnątrz pliku .bat. Oznacza to, że słoik można przenosić w systemie plików bez żadnych zmian, o ile plik .bat zawsze znajduje się w tym samym katalogu, co plik jar. The.Kod bat jest:
java -jar %~dp0myjarfile.jar %*
Zasadniczo %0
byłoby rozszerzyć do pełnej ścieżki bat i %~dp0
rozszerza się do pełnej ścieżki bat wyjątkiem nazwy pliku. Tak więc %~dp0myjarfile.jar
jest pełną ścieżką pliku myjarfile.jar skojarzonego z plikiem .bat. %*
pobiera wszystkie argumenty podane do pliku .bat i przekazuje je do programu Java. (Patrz: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true)
To jest świetne, ale pozostawia literę dysku wyłączoną. – guthrie
Masz rację. '% ~ dp0' musi być użyty zamiast'% ~ p0', aby mieć również literę dysku. Będę edytować odpowiedź. – BrunoMedeiros
cd "Your File Location without inverted commas"
przykład: CD C: \ Users ***** \ Pulpit \ katalog \ target
java -jar myjar.jar
przykładowy plik bat wygląda następująco:
@echo OFF
cd C:\Users\****\Desktop\directory\target
java -jar myjar.jar
To zadziała dobrze.
Dlaczego bez cudzysłowów (cudzysłów)? Jeśli ścieżka zawiera spację w nazwie, potrzebujesz cudzysłowów. – Rob
shoult spróbować tego:
java -cp youJarName.jar your.package.your.MainClass
Można utworzyć plik wsadowy z .bat
przedłużenia o następującej treści
Zastosowanie java
dla .jar
że nie ma interfejs i jest aplikacją linii poleceń
@ECHO OFF
start java -jar <your_jar_file_name>.jar
Użyj javaw
dla .jar
z interfejsem użytkownika
@ECHO OFF
start javaw -jar <your_jar_file_name>.jar
Upewnij się, że JAVA_HOME
jest ustawione w zmiennych środowiskowych.
Precyzyjne i dokładne informacje. Bardzo zobowiązany! –
Należy upewnić się, że określono ścieżkę klasy w pliku MANIFEST.MF. Jeśli używasz Maven zrobić opakowanie, można skonfigurować następujące wtyczki:
1. Maven-depedency-plugin:
2. Maven-jar-plugin:
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${version.plugin.maven-dependency-plugin}</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${version.plugin.maven-jar-plugin}</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
Powstały plik manifestu będzie być pakowane w słoiku pod wykonywalnego META-INF i będzie wyglądać następująco:
Manifest-Version: 1.0
Implementation-Title: myexecjar
Implementation-Version: 1.0.0-SNAPSHOT
Built-By: razvanone
Class-Path: lib/first.jar lib/second.jar
Build-Jdk: your-buildjdk-version
Created-By: Maven Integration for Eclipse
Main-Class: ro.razvanone.MyMainClass
skrypt systemu Windows będzie wyglądać następująco:
@echo on
echo "Starting up the myexecjar application..."
java -jar myexecjar-1.0.0-SNAPSHOT.jar
ta powinna być kompletna config do budowania słoik wykonywalny przy użyciu Maven :)
można użyć następującego polecenia w pliku .bat nowo utworzona:
@echo off
call C:\SWDTOOLS\**PATH\TO\JAVA**\java_1.7_64\jre\bin\java -jar workspace.jar
Proszę podać ścieżkę do Javy, jeśli istnieje to wiele wersji java zainstalowanych w systemie i upewnij się, że określono główną metodę i plik manifestu jest tworzony podczas tworzenia pliku JAR.
- 1. Uruchom plik jar z argumentami wiersza poleceń:
- 2. Uruchom plik jar w obrazie dokowanego
- 3. Jak zastąpić plik tekstowy z pliku wsadowego
- 4. Uruchom jar w konsoli
- 5. Dołącz plik wsadowy do pliku wsadowego
- 6. plik Uruchom z Java
- 7. Uruchom jar z parametrami w gradle
- 8. Skopiuj plik jar z maven
- 9. Uruchom plik wykonywalny z makefile
- 10. Uruchamianie prowizji z pliku wsadowego
- 11. wysyłanie wiadomości z pliku wsadowego
- 12. Zamknij plik wsadowy po uruchomieniu pliku JAR
- 13. Plik polityki JAR
- 14. Cygwin uruchamia skrypt z jednego pliku wsadowego?
- 15. Okno PowerShell po uruchomieniu z pliku wsadowego
- 16. Kompilacja rozwiązania .net z pliku wsadowego
- 17. analizować plik jar programowo
- 18. Wykonywanie pliku wsadowego z C# Permission issue
- 19. Uruchamianie wielu aplikacji konsoli z pliku wsadowego
- 20. Jak odczytać plik zasobu z pliku JAR Java?
- 21. administratora do pliku wsadowego z podwójnymi notowanych parametrów
- 22. Usuwanie ukośnego ukośnika z pliku wsadowego
- 23. Zmodyfikuj wykonywanie pliku JAR
- 24. Uzyskaj lokalizację pliku JAR
- 25. Otwórz i edytuj plik .jar z Javą?
- 26. Uruchom plik skryptowy SQL z powershell
- 27. Uruchom plik wsadowy z kodu Java
- 28. Uruchom plik exe z kodu C#
- 29. jak odwołać wszystkie pliki jar w katalogu w moim pliku wsadowego
- 30. Podpisywanie .Jar plik
Koleś, formatowanie, pytanie nie jest segmentem kodu. –