PowerShell - java.exe: Error: Invalid or corrupt jarfile

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

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?

 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>

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>
Szerkesztve: 2020. 07. 02., cs - 11:52

A jar emlékeim szerint egy zip fájl. Mit mond rá egy CRC check? (Linux alatt unzip -t)

nem lehet hogy $JAVA_HOME különbség van a két környezetben?

java --version mindkettőre ugyanazt írja ki?

Megpróbálod úgy, hogy kiszeded a belső idézőjeleket?

Tehát így:
& "$Java_Path\java.exe -jar valami.jar"
 

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)