Classloader v tomcatu

2011-02-24 Tema obsahu Tomas Bezdek
ahoj,
v jedne sve tride mam volani EPaymentService.class.getResource(.),
ktere mi pri debugovani v eclipsech vraci spravnou cestu ke tride
(file:/...). kdyz ale toto volani probehne v aplikaci spustene na
tomcatu, vraci null. nevite nekdo cim by to mohlo byt zpusobene?

dik
tomas


Java webstart

2011-02-24 Tema obsahu Tomas Studva
Dobry den,
snazim sa rozbehat tucneho klienta cez java webstart. Podla specifikacie je
mozne v jnlp subore nastavit java-vm-args, ale tie su obmedzene a nie je
mozne tam nastavit classpath, endorsed dirs ani ext.dirs (jedna sa o
rozsirenie tazkeho clienta o nejake IBM ... veci).

Zistil som ale ze java webstart aplikaciu mozem spustit z prikazoveho riadka
pomocou javaws a tam mozem nastavit vm options cez prepinac -J.
Takze som to skusil mam batch file ktory to tam setuje:

%JAVA_HOME%\bin\javaws -J-Djava.class.path=%JAVA_CLASSPATH%
-J-Djava.endorsed.dirs=%SN_ENDORSED_DIRS%
-J-Djava.ext.dirs=%JAVA_EXTENSION_DIRS% url

url je samozrejme cesta k jnlp suboru. Vsetko sa zda OK, az na to ze to
nefunguje a nikde neviem najst dokumentaciu k javaws a k tomu co je povolena
nastavit cez -J. Pravdepodobne je to rovnako obmedzene.

Ak niekto mate skusenosti s niecim podobnym prosim o kazdu radu/napad pre
distribuciu cez javaws. (runtime sa da predpripravit u klienta aby nebolo
potrebne nastavovat taketo veci, ale to nechceme, chceme ho dynamicky
konfigurovat)

Tomas


Re: Classloader v tomcatu

2011-02-24 Tema obsahu Martin Kuba

Dne 24.2.2011 13:31, Tomas Bezdek napsal(a):

ahoj,
v jedne sve tride mam volani EPaymentService.class.getResource(.),
ktere mi pri debugovani v eclipsech vraci spravnou cestu ke tride
(file:/...). kdyz ale toto volani probehne v aplikaci spustene na
tomcatu, vraci null. nevite nekdo cim by to mohlo byt zpusobene?


Nejspíš tím, že . je aktuální adresář, a v Tomcatu ta třída
není v souboru s příponou .class, ale zabalená bud v souboru .jar,
nebo dokonce uvnitř nerozbaleného .war, záleží na lokální instalaci.
Takže ta třída žádný adresář nemá.

Makub
--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: ma...@ics.muni.cz
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Classloader v tomcatu

2011-02-24 Tema obsahu Tomas Bezdek
v tom problem neni. trida je moje, z war se rozbaluje a lezi na ceste
/home/user/.bin/apache-tomcat/webapps/app-web/WEB-INF/classes/cz/app/payment/gate/EPaymentService.class

Martin Kuba wrote:
 Dne 24.2.2011 13:31, Tomas Bezdek napsal(a):
 ahoj,
 v jedne sve tride mam volani EPaymentService.class.getResource(.),
 ktere mi pri debugovani v eclipsech vraci spravnou cestu ke tride
 (file:/...). kdyz ale toto volani probehne v aplikaci spustene na
 tomcatu, vraci null. nevite nekdo cim by to mohlo byt zpusobene?
 
 Nejspíš tím, že . je aktuální adresář, a v Tomcatu ta třída
 není v souboru s příponou .class, ale zabalená bud v souboru .jar,
 nebo dokonce uvnitř nerozbaleného .war, záleží na lokální instalaci.
 Takže ta třída žádný adresář nemá.
 
 Makub


Re: Classloader v tomcatu

2011-02-24 Tema obsahu Robert Novotny
Ta bodka je nejaka podozriva, co tym chcete dosiahnut? Chcete ziskat 
aktualny adresar?


RN

On 24. 2. 2011 13:31, Tomas Bezdek wrote:

ahoj,
v jedne sve tride mam volani EPaymentService.class.getResource(.),
ktere mi pri debugovani v eclipsech vraci spravnou cestu ke tride
(file:/...). kdyz ale toto volani probehne v aplikaci spustene na
tomcatu, vraci null. nevite nekdo cim by to mohlo byt zpusobene?

dik
tomas





Re: Classloader v tomcatu

2011-02-24 Tema obsahu Tomas Bezdek
presne tak, potrebuju ziskat aktualni adresar, protoze vedle .class mi
lezi wsdl ktere potrebuju predhodit kontruktoru javax.xml.ws.Service.
zkousel jsem s teckou i bez, nefunguje ani jedno reseni. prijde mi divne
ze pri debugovani v eclipse se cesta nacte bez problemu

Robert Novotny wrote:
 Ta bodka je nejaka podozriva, co tym chcete dosiahnut? Chcete ziskat
 aktualny adresar?
 
 RN
 
 On 24. 2. 2011 13:31, Tomas Bezdek wrote:
 ahoj,
 v jedne sve tride mam volani EPaymentService.class.getResource(.),
 ktere mi pri debugovani v eclipsech vraci spravnou cestu ke tride
 (file:/...). kdyz ale toto volani probehne v aplikaci spustene na
 tomcatu, vraci null. nevite nekdo cim by to mohlo byt zpusobene?

 dik
 tomas

 
 


Re: Classloader v tomcatu

2011-02-24 Tema obsahu Martin Kuba

Dne 24.2.2011 14:21, Tomas Bezdek napsal(a):

presne tak, potrebuju ziskat aktualni adresar, protoze vedle .class mi
lezi wsdl ktere potrebuju predhodit kontruktoru javax.xml.ws.Service.
zkousel jsem s teckou i bez, nefunguje ani jedno reseni. prijde mi divne
ze pri debugovani v eclipse se cesta nacte bez problemu


V tom případě by bylo lepší použít 
EPaymentService.class.getResource(neco.wsdl)

Makub
--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: ma...@ics.muni.cz
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Classloader v tomcatu

2011-02-24 Tema obsahu Tomas Bezdek
priznam se, ze neco tak primitivne jednoducheho me nenapadlo. hloupe
jsem vykopiroval kus kodu ze tridy vygenerovane pomoci
jaxws-maven-plugin ktery nefungoval (prave kvuli getResource(.) ) a
snazil se ho donutit wsdl nacist.
EPaymentService.class.getResource(EPayment.wsdl) pomohlo, takze vam
vsem moc dekuju za pomoc

tomas

Martin Kuba wrote:
 Dne 24.2.2011 14:21, Tomas Bezdek napsal(a):
 presne tak, potrebuju ziskat aktualni adresar, protoze vedle .class mi
 lezi wsdl ktere potrebuju predhodit kontruktoru javax.xml.ws.Service.
 zkousel jsem s teckou i bez, nefunguje ani jedno reseni. prijde mi divne
 ze pri debugovani v eclipse se cesta nacte bez problemu
 
 V tom případě by bylo lepší použít
 EPaymentService.class.getResource(neco.wsdl)
 
 Makub


Re: Java webstart

2011-02-24 Tema obsahu jan_bar
In article AANLkTim6kALMdrDJPB_UDUQg_3iTUpW32UAY-0NYA7d7
@mail.gmail.com, tstu...@gmail.com 
says...
 
 Dobry den,
 snazim sa rozbehat tucneho klienta cez java webstart. Podla specifikacie je
 mozne v jnlp subore nastavit java-vm-args, ale tie su obmedzene a nie je
 mozne tam nastavit classpath, endorsed dirs ani ext.dirs (jedna sa o
 rozsirenie tazkeho clienta o nejake IBM ... veci).
 
 Zistil som ale ze java webstart aplikaciu mozem spustit z prikazoveho riadka
 pomocou javaws a tam mozem nastavit vm options cez prepinac -J.
 Takze som to skusil mam batch file ktory to tam setuje:
 
 %JAVA_HOME%\bin\javaws -J-Djava.class.path=%JAVA_CLASSPATH%
 -J-Djava.endorsed.dirs=%SN_ENDORSED_DIRS%
 -J-Djava.ext.dirs=%JAVA_EXTENSION_DIRS% url
 
 url je samozrejme cesta k jnlp suboru. Vsetko sa zda OK, az na to ze to
 nefunguje a nikde neviem najst dokumentaciu k javaws a k tomu co je povolena
 nastavit cez -J. Pravdepodobne je to rovnako obmedzene.
 
 Ak niekto mate skusenosti s niecim podobnym prosim o kazdu radu/napad pre
 distribuciu cez javaws. (runtime sa da predpripravit u klienta aby nebolo
 potrebne nastavovat taketo veci, ale to nechceme, chceme ho dynamicky
 konfigurovat)
 
 Tomas

Tipoval bych ze to je tim, ze javaws pusti jnlp jako separatni process 
ktery ma svuj classpath. Schvalne se podivejte na pid javaws a 
spusteneho procesu.

Pokud nemusite, javaws nepouzivejte. Krom omezeni, ktere jste popsal 
vyse jsou i dalsi, napr. javaws nema classpath tak jak ho znate, ma jen 
seznam jaru ktere prohledava ve vami neovlivnitelnem poradi (jen v main 
se hleda driv).

Honza




Re: Java webstart

2011-02-24 Tema obsahu Ondra Medek
Ano javaws je nekdy spise naobtiz, to zde na konferenci probehlo
nekolikrat. Nahradni reseni jsou:
1. napsat si vlastni servlet + client, ktery stahne ze serveru novu
verzi a spusti
2. jako 1. ale ten maly client se instaluje pres JWS. Tedy pres JWS
nainstalovat jen maleho clienta, ktery stahne vse ostatni a spusti.

2011/2/24 jan_bar herkul...@yahoo.com:
 In article AANLkTim6kALMdrDJPB_UDUQg_3iTUpW32UAY-0NYA7d7
 @mail.gmail.com, tstu...@gmail.com
 says...

 Dobry den,
 snazim sa rozbehat tucneho klienta cez java webstart. Podla specifikacie je
 mozne v jnlp subore nastavit java-vm-args, ale tie su obmedzene a nie je
 mozne tam nastavit classpath, endorsed dirs ani ext.dirs (jedna sa o
 rozsirenie tazkeho clienta o nejake IBM ... veci).

 Zistil som ale ze java webstart aplikaciu mozem spustit z prikazoveho riadka
 pomocou javaws a tam mozem nastavit vm options cez prepinac -J.
 Takze som to skusil mam batch file ktory to tam setuje:

 %JAVA_HOME%\bin\javaws -J-Djava.class.path=%JAVA_CLASSPATH%
 -J-Djava.endorsed.dirs=%SN_ENDORSED_DIRS%
 -J-Djava.ext.dirs=%JAVA_EXTENSION_DIRS% url

 url je samozrejme cesta k jnlp suboru. Vsetko sa zda OK, az na to ze to
 nefunguje a nikde neviem najst dokumentaciu k javaws a k tomu co je povolena
 nastavit cez -J. Pravdepodobne je to rovnako obmedzene.

 Ak niekto mate skusenosti s niecim podobnym prosim o kazdu radu/napad pre
 distribuciu cez javaws. (runtime sa da predpripravit u klienta aby nebolo
 potrebne nastavovat taketo veci, ale to nechceme, chceme ho dynamicky
 konfigurovat)

 Tomas

 Tipoval bych ze to je tim, ze javaws pusti jnlp jako separatni process
 ktery ma svuj classpath. Schvalne se podivejte na pid javaws a
 spusteneho procesu.

 Pokud nemusite, javaws nepouzivejte. Krom omezeni, ktere jste popsal
 vyse jsou i dalsi, napr. javaws nema classpath tak jak ho znate, ma jen
 seznam jaru ktere prohledava ve vami neovlivnitelnem poradi (jen v main
 se hleda driv).

 Honza






-- 
Ondra Medek


Re: Java webstart

2011-02-24 Tema obsahu Tomas Studva
Mate pravdu, no rozhodnutie uz padlo, nebolo moje a zasiahne celu firmu. Ale
inak napady mate dobre.
Tak zatial.

2011/2/24 Ondra Medek xmed...@gmail.com

 Ano javaws je nekdy spise naobtiz, to zde na konferenci probehlo
 nekolikrat. Nahradni reseni jsou:
 1. napsat si vlastni servlet + client, ktery stahne ze serveru novu
 verzi a spusti
 2. jako 1. ale ten maly client se instaluje pres JWS. Tedy pres JWS
 nainstalovat jen maleho clienta, ktery stahne vse ostatni a spusti.

 2011/2/24 jan_bar herkul...@yahoo.com:
   In article AANLkTim6kALMdrDJPB_UDUQg_3iTUpW32UAY-0NYA7d7
  @mail.gmail.com, tstu...@gmail.com
  says...
 
  Dobry den,
  snazim sa rozbehat tucneho klienta cez java webstart. Podla specifikacie
 je
  mozne v jnlp subore nastavit java-vm-args, ale tie su obmedzene a nie je
  mozne tam nastavit classpath, endorsed dirs ani ext.dirs (jedna sa o
  rozsirenie tazkeho clienta o nejake IBM ... veci).
 
  Zistil som ale ze java webstart aplikaciu mozem spustit z prikazoveho
 riadka
  pomocou javaws a tam mozem nastavit vm options cez prepinac -J.
  Takze som to skusil mam batch file ktory to tam setuje:
 
  %JAVA_HOME%\bin\javaws -J-Djava.class.path=%JAVA_CLASSPATH%
  -J-Djava.endorsed.dirs=%SN_ENDORSED_DIRS%
  -J-Djava.ext.dirs=%JAVA_EXTENSION_DIRS% url
 
  url je samozrejme cesta k jnlp suboru. Vsetko sa zda OK, az na to ze to
  nefunguje a nikde neviem najst dokumentaciu k javaws a k tomu co je
 povolena
  nastavit cez -J. Pravdepodobne je to rovnako obmedzene.
 
  Ak niekto mate skusenosti s niecim podobnym prosim o kazdu radu/napad
 pre
  distribuciu cez javaws. (runtime sa da predpripravit u klienta aby
 nebolo
  potrebne nastavovat taketo veci, ale to nechceme, chceme ho dynamicky
  konfigurovat)
 
  Tomas
 
  Tipoval bych ze to je tim, ze javaws pusti jnlp jako separatni process
  ktery ma svuj classpath. Schvalne se podivejte na pid javaws a
  spusteneho procesu.
 
  Pokud nemusite, javaws nepouzivejte. Krom omezeni, ktere jste popsal
  vyse jsou i dalsi, napr. javaws nema classpath tak jak ho znate, ma jen
  seznam jaru ktere prohledava ve vami neovlivnitelnem poradi (jen v main
  se hleda driv).
 
  Honza
 
 
 



 --
 Ondra Medek