Sziasztok,
Van tippetek rá, hogy mi áll ennek a háttérben?
cmd.exe:
java -jar egy.jar
> működik
PowerShell:
& "java -jar egy.jar"
java.exe : Error: Invalid or corrupt jarfile egy.jar
Meghívja a java-t, az pedig megkapja a JAR fájlt.
(A jar konkrétan a Bamboo 7 Agent (atlassian-bamboo-agent-installer-7.0.4.jar), de ez most nem releváns)
Üdv,
Tassadar
- 211 megtekintés
Hozzászólások
Csak egy tipp: különböző java binárist hív meg a két környezet, különböző "PATH"-t használnak?
- A hozzászóláshoz be kell jelentkezni
Nincs egyetlen java sem path-on, pont ez miatt.
Abszolút útvonal van a java.exe-hez és a jar-hoz is.
- A hozzászóláshoz be kell jelentkezni
Akkor ok, az OP-ból ez nem jött át.
- A hozzászóláshoz be kell jelentkezni
Kezdjük ott, hogy ha idézőjelezed a teljes utasítást az hibára fut, vagyis biztosan nem így hívod a java-t.
PS C:\Users\BaT\dev\tools\jd-gui> java -jar .\jd-gui-1.6.6.jar
PS C:\Users\BaT\dev\tools\jd-gui> & "java -jar .\jd-gui-1.6.6.jar"
&: The term 'java -jar .\jd-gui-1.6.6.jar' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
PS C:\Users\BaT\dev\tools\jd-gui> & java -jar .\jd-gui-1.6.6.jar
PS C:\Users\BaT\dev\tools\jd-gui>
- A hozzászóláshoz be kell jelentkezni
Ez biztosan a Java-tól jön:
java.exe : Error: Invalid or corrupt jarfile egy.jar
Ez a command egyébként:
& "$Java_Path\java.exe" -jar "valami.jar"
- A hozzászóláshoz be kell jelentkezni
Oké, így már fut:
PS C:\Users\BaT\dev\tools\jd-gui> $Java_Path='C:\Program Files\Java\jdk-11.0.6\bin\'
PS C:\Users\BaT\dev\tools\jd-gui> & "$Java_Path\java.exe" -jar ".\jd-gui-1.6.6.jar"
PS C:\Users\BaT\dev\tools\jd-gui>
Ha ugyanezt futtatod cmd-ben az működik? (Idézőjelekkel vigyázni, máshogy működik!)
C:\Users\BaT\dev\tools\jd-gui>SET Java_Path=C:\Program Files\Java\jdk-11.0.6\bin\
C:\Users\BaT\dev\tools\jd-gui>"%Java_Path%\java.exe" -jar ".\jd-gui-1.6.6.jar"
C:\Users\BaT\dev\tools\jd-gui>
- A hozzászóláshoz be kell jelentkezni
CMD-ben tökéletesen megy.
- A hozzászóláshoz be kell jelentkezni
A jar emlékeim szerint egy zip fájl. Mit mond rá egy CRC check? (Linux alatt unzip -t)
- A hozzászóláshoz be kell jelentkezni
Azonos jar-t hív meg cmd-ből és powershell-ből is.
- A hozzászóláshoz be kell jelentkezni
nem lehet hogy $JAVA_HOME különbség van a két környezetben?
java --version mindkettőre ugyanazt írja ki?
- A hozzászóláshoz be kell jelentkezni
Nincs különbség, system environment variable-ben van a JAVA_HOME (PS és cmd is látja), viszont ezt jelen esetben semmi nem használja.
PATH-ban nincs a java.exe, ezért teljes útvonallal hivom meg.
- A hozzászóláshoz be kell jelentkezni
Megpróbálod úgy, hogy kiszeded a belső idézőjeleket?
Tehát így:
& "$Java_Path\java.exe -jar valami.jar"
- A hozzászóláshoz be kell jelentkezni
Majdnem biztos vagyok, hogy ennyire amatőr dologba nem futsz bele, de: a relatív .jar file miatt... working dir?
BlackY
"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)
- A hozzászóláshoz be kell jelentkezni
Nem, viszont úgy tűnik megvan: a virusirtó valamiért lockolta a jar-t, csak akkor, ha a java process PS-ből lett létrehozni.
Lokálisan nem látok bele a virusirtó log-okba és erre baromira nem gondoltam. :(
- A hozzászóláshoz be kell jelentkezni