Uruchamianie jara z bata bez konsoli

0

Witam

Mam plik bat a w nim z grubsza

java -jar "nazwa.jar"

Umieściłem wpis do rejestru w :

HKLM\Software\Microsoft\Windows\CurrentVersion\Run

Tak by ten bacik uruchamiał się przy starcie windy.

A teraz problem:

Zawsze pojawia mi się pierw czarna konsola w windy, w której uruchamiany jest jar:/ Jak zrobić by jar się uruchamiał w tle bez konsoli?

Dodam, ze zastąpienie java przez javaw nie rozwiązuje problemu. I tak korzystam w loggera do pliku wiec aplikacja z założenia miała działać w tle.

Próbowałem też we wpisie zamiast run.bat od razu uruchamiać java -jar itd ale to też nie rozwiązało problemu.

Jakieś rady?

0

Próbowałeś bawić się z plikiem manifest? Po co Ci ten bat?

0

No w rejestrze muszę przecież dać plik wykonywalny by przy starcie windy się uruchomił jar.
grzebanie w manifeście jara nic mi nie da.

0

Wpisz po prostu w rejestrze właściwe polecenie wywołania. Czyli
java.exe -jar "nazwa.jar"
Przecież java.exe jest pełnoprawną aplikacją win32, a reszta to tylko argumenty wywołania. Jeżeli nie masz ustawionej ścieżki wywołania na katalog zawierający java.exe, to musisz poprzedzić nazwę pliku wykonywalnego poprawną ścieżką absolutną. To samo powinno dotyczyć "nazwa.jar". Wtedy możliwe powinno być uruchomienie javaws.exe, która nie wymaga konsoli jako wejścia i wyjścia.

0

Tak masz rację tylko nie w tym leży problem:/
Aplikacja uruchamia mi się - wiem o path do java.exe i o pełnej ścieżce do jara.
Problem jest taki, że obojętnie czy wywołam to w run.bat czy do rejestru wpisze java.exe -jar ... to zawsze pojawia mi się pierw konsola windy czarna z moim poleceniem. Mam win 7 i chce by ta aplikacja uruchomiła się bez tej czarnej windowsowej konsoli:/

0

Zamiast java.exe sprobuj wpisac "javaw.exe -jar twojjrar.jar". Javaw nie pokazuje konsoli.

0

javaw zamiast java

0

@up - bravo!

0

lipkerson
<quote>Dodam, ze zastąpienie java przez javaw nie rozwiązuje problemu</quote
olamagato

Wtedy możliwe powinno być uruchomienie javaws.exe, która nie wymaga konsoli jako wejścia i wyjścia.

::.

Zamiast java.exe sprobuj wpisac "javaw.exe -jar twojjrar.jar".

duce74

javaw zamiast java

Dodam, że mam w HKLM\Software\Microsoft\Windows\CurrentVersion\Run wpis javaw -jar "jakiś.jar". Program się uruchamia, konsoli nie widać.
Btw, parser się gubi jak jest kilka cytatów.

0

jak chcesz przez plik wsadowy, to musisz w nim wpisać coś takiego:
start javaw -jar costam.jar

0

@keraj, sprawdziłeś czy tak Ci się wydaje? Uruchamiasz plik wsadowy zatem konsola miga, słowo start nie ma na to wpływu.

0

start odpala chyba program w osobnej sesji, dzięki temu jak zrobimy:

start java -jar "bardzodługowykonującysięprogram.jar"
echo "Ala ma kota"

To napis Ala ma kota, pojawi się nam od razu.

0

Trudności pojawiają się jeżeli muszą być spełnione trzy warunki:

  • jar ma się uruchomić w autostarcie,
  • nie może mignąć konsola (bo to brzydko wygląda ;-)),
  • jar wymaga określonego katalogu bieżącego.
0

Start uruchamia osobne okno konsoli, wystarczy wpisać start /? , żeby się o tym dowiedzieć. Tak więc efekt powinien być raczej odwrotny do oczekiwanego. Proponuję zrobić skrót do pliku jar, można wtedy podać katalog startowy. Potem taki skrót można wrzucić w Autostart.

0

To wpisz sobie "start javaw" i znajdź mi to drugie okno konsoli... (dla porównania odpal w ten sam sposób konsolowego launchera, wpisz "start java")
start otwiera w osobnej "sesji" czy wtf to się w windowsie zwie

1 użytkowników online, w tym zalogowanych: 0, gości: 1