Most inkább olyasmit vélek látni, hogy így elindul:
c:\progra~1\java\jre1.8.0_211\bin\javaws.exe https://ott.van/valami.jnlp
így meg nem:
c:\jre8_64\bin\javaws.exe https://ott.van/valami.jnlp
ahol a c:\jre8_64 egy szimlink:
2021. 09. 06. 17:38 jre8_64 [c:\Progra~1\Java\jre1.8.0_211]
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 286 megtekintés
Hozzászólások
Van például egy ilyen könyvtár: %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\log
, itt helyes kis .log és .trace fájlok keletkeznek. De csak akkor, amikor elindul, amikor nem indul el, akkor fájlok sem keletkeznek.
Valamint futtathatnám az strace(1) nevű programot. Ha nem Wintendó lenne. Itt drmemory/drstrace van, nem egészen ugyanaz az élmény. (Ebben persze az is közrejátszik, hogy a követett hívások 97 százaléka registry-lekérdezés.)
- A hozzászóláshoz be kell jelentkezni
Nezd meg a process monitort / process exploler-t a sysinternals-bol (most mar microsoft)
- A hozzászóláshoz be kell jelentkezni
A jó hír az, hogy a javaws és a javaw között még egy jp2launcher nevű program is van, ami azért jó, mert köztudott, hogy minél több komponensből áll egy rendszer, annál gyorsabb és stabilabb.
- A hozzászóláshoz be kell jelentkezni
Még az is egy érdekes kérdés lehet, hogy mi a realpath(3) Windows-os megfelelője... egyesek szerint a GetFullPathName ilyet is csinál, ki kellene próbálni.
Szerk: vagy rosszul néztem, vagy nem csinál ilyet.
Szerk: Viszont van egy _fullpath! Na az sem csinál ilyet. Következő jelölt: GetFinalPathNameByHandle
Szerk: jónak látszik:
c:\bin\realpath \java8ad c:\jre8_64\bin
\\?\C:\Program Files\AdoptOpenJDK\jdk-8.0.292.10-hotspot
\\?\C:\Program Files\Java\jre1.8.0_211\bin
Ezzel ilyesmi cmd-fájlt alkothatunk:
@echo off
setlocal
c:\bin\realpath c:\jre8_64 >%TEMP%\path.tmp
set /P JAVA_HOME= <%TEMP%\path.tmp
set PATH=%JAVA_HOME%\bin;%PATH%
"%JAVA_HOME%\bin\javaws.exe" %*
- A hozzászóláshoz be kell jelentkezni
Most igy ezen elgondolkodva, nem lenne jobb megoldas poweshell-t irni mint sajat low-level api-t hasznalo kodot?
Bar a .Net hivast ott sem uszod meg es kicsit bonyolultabb lesz a script.
- A hozzászóláshoz be kell jelentkezni
Valószínűleg igen, nem ismerem a PS-t, de ami hallottam róla, abból azt gondolom, összemérhető a BS2000-ből ismert SDF-P-vel. (Egy kis sample itt vagy itt látható.)
- A hozzászóláshoz be kell jelentkezni
Nem tudom mit értesz összemérhető alatt, szerintem nem nagyon hasonlít, a verb-noun utasítás elnevezést leszámítva.
De kíváncsiságból utána néztem, úgy tűnik eddig nem volt symlink API .NET-ben.
- A hozzászóláshoz be kell jelentkezni
Hasonló téma:
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8151915
Vagyis nem szereti a szimlinkeket (Mklink /D)
c:\java8\bin\java -cp c:\temp Path_test c:\java8 c:\java7\bin c:\progra~1\java
c:\java8 -> *** realpath("c:\java8"): java.lang.InternalError: Should not get here
c:\java7\bin -> *** realpath("c:\java7\bin"): java.lang.InternalError: Should not get here
c:\progra~1\java -> C:\Program Files\Java
Az "Adopt" változat (8.0.292.10-hotspot) valahogy megbirkozik ezzel is:
c:\java8ad\bin\java -cp c:\temp Path_test c:\java8 c:\java7\bin c:\progra~1\java
c:\java8 -> C:\Program Files\Java\jdk1.8.0_221
c:\java7\bin -> C:\Program Files\Java\jdk1.7.0_65\bin
c:\progra~1\java -> C:\Program Files\Java
Kieg: Persze ne felejtsük el, hogy kétféleképpen lehet szimlinket csinálni (csak?!), nevezetesen mklink /J
és mklink /D
által. Ami közös bennük, az az, hogy az Oracle Java egyikkel sem bír.
- A hozzászóláshoz be kell jelentkezni
probald meg RH openjdk windows msi installerrel feltett java-val is (abban van icedtea-web, ami egy open source reimplementacioja az Oracle fele proprietary Java Web Start-janak). Az icedtea talan jobban logol...
A szimlink meg siman elbaltazhat nagyon sok mindent (pl classpath is, mert nem talalja a jre/lib/*.jar-okat), nem biztos, hogy az Ora fele implementacio fel lett keszitve szimlinkre... Ezt persze maximum decompilerrel lehetne kideriteni, bar asszem az oracle jo szokasahoz hiven levagta a debug szimbolokat (talan meg obfuszkalt is, mint a jdbc drivereben), szoval good luck....... IcedTea-web-nek megvan a forrasa githubon, es sztem jobban is logol.
- A hozzászóláshoz be kell jelentkezni
Most hogy így mondod, valóban, az AdoptOpenJDK8 is megvan a gépemen, és azzal működik (de ha nem működne, akkor is hányja a debug-logot a konzolra, tehát lenne miből nyomozni), szóval lehet, hogy ezt most nem is erőltetem tovább a javaws/javacpl irányt, inkább kitesztelem, hogy minden megy-e ezzel az IcedTea-val.
- A hozzászóláshoz be kell jelentkezni