Ahoj.
Zapasim s nacitavanim resources z classpath webovej aplikacie v tomcat-e
a nejak neviem prist veci na klb.
Mam klasicku ( mavenom buildenu ) aplikaciu zlozenu z:
- lib
- command line client
- webapp
lib.jar obsahuje:
./src/main/resources/libresource.properties
K tomuto suboru pristupujem v cli a webapp pomocou:
URL url =
ClassLoader.getSystemResource("libresource.properties");
Properties p = new Properties();
p.load(ClassLoader.getSystemResourceAsStream("libresource.properties"));
V cli aplikacii to funguje, vo webapp nie ( getSystemResource vrati null ).
Tomcat v dokumentacii classloader-u pise:
A class loader is created for each web application that is deployed
in a single Tomcat instance.
All unpacked classes and resources in the /WEB-INF/classes directory
of your web application,
--> plus classes and resources in JAR files under the /WEB-INF/lib
directory <-- of your web application,
are made visible to this web application, but not to other ones.
Co je presne co chcem. Ale zjavne to nefunguje tak ako ocakavam.
Vygooglil som, ze riesenim je skopirovat ten property file pocas buildu
priamo do webapp/target/WEB-INF/classes,
co samozrejme nechcem, pretoze to ide presne proti cielu mojho snazenia
( odstranit z projektu nadbytocne rozkopirovavanie ).
V com robim chybu?
Diky
--
Dusan