No, tak tu je to podstatne zabavnejsie.

package foo.test;
public class App {
    public static void main(String[] args) {
        System.out.println(App.class.getResource("").getFile());
    }
}

1. pokial to pustim v NB, dostanem:
/home/msk/NetBeansProjects/delme1234/target/classes/foo/test/

2. pokial to pustim ako java -cp target/delme.jar foo.test.App, dostanem:
file:/home/msk/NetBeansProjects/delme1234/target/delme1234-1.0-SNAPSHOT.jar!/foo/test/

... cim som vlastne vyriesil dany problem len ciastocne, pretoze pri tomto 
zazracnom spravani nebudem schopny danu aplikaciu rozumne ladit :-)


> Zkusil bych si vzit /getResourceAsStream("")/ (nebo /getResource("")/),
> abych z toho ziskal typ File a znej si pak vytisknout |*getCanonicalPath
> <http://www.j2ee.me/javase/6/docs/api/java/io/File.html#getCanonicalPath%28
>%29>*().
>
>
> To Vam ukaze, kde je root. Nedavno jsem to resil uplne stejnym zpusobem,
> ale kod jiz samozrejme nemam.
>
> Arny
>
> Dusan Zatkovsky wrote:
> > Ahoj.
> >
> > Narazil som na problem s in-jar resources a neviem si rady.
> >
> > Vyrobim si maven quickstart projekt. V src/main/resources vytvorim subor
> > foo.txt. Nasledne v main() zavolam:
> >
> >     x = Main.class.getResourceAsStream("/foo.txt");
> >
> > Dostanem inputstream na ten foo.txt. Ten je v jar-e ulozeny priamo v
> > roote ako /foo.txt.
> >
> > Problem nastane v momente, ked do toho projektu pridam webservice client.
> > Od tohoto momentu mi getResource() vracia null. Pravdepodobne to bude
> > suvisiet s tym, ze maven nejak preorganicuje projekt kvoli tej WS, ale ja
> > neviem, kde mam ten foo.txt nasledne hladat.
> >
> > V jar-e ho vidim v /META-INF/main/java/resources/foo.txt, ale neviem, kde
> > vidi getResource() svoj root, pretoze som skusal od /META-INF postupne
> > uberat kazdy podadresar a na vsetko som dostal null.
> >
> > Tusi niekto?
> >
> > D.
-- 
Dusan

Odpovedet emailem