Tous
J'ai créé un fichier jar avec le MANIFEST.MF suivant à l'intérieur :
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_25-b06 (Sun Microsystems Inc.)
Main-Class: my.Main
Class-Path: . lib/spring-core-3.2.0.M2.jar lib/spring-beans-3.2.0.M2.jar
Dans sa racine, il y a un fichier appelé my.config qui est référencé dans mon spring-context.xml comme ceci :
<bean id="..." class="...">
<property name="resource" value="classpath:my.config" />
</bean>
Si je lance le jar, tout semble correct, sauf le chargement de ce fichier spécifique :
Caused by: java.io.FileNotFoundException: class path resource [my.config] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/work/my.jar!/my.config
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:205)
at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)
at eu.stepman.server.configuration.BeanConfigurationFactoryBean.getObject(BeanConfigurationFactoryBean.java:32)
at eu.stepman.server.configuration.BeanConfigurationFactoryBean.getObject(BeanConfigurationFactoryBean.java:1)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
... 22 more
- les classes sont chargées depuis l'intérieur du jar
- spring et les autres dépendances sont chargées à partir de jars séparés.
- le contexte de printemps est chargé (new ClassPathXmlApplicationContext("spring-context/applicationContext.xml"))
- my.properties est chargé dans PropertyPlaceholderConfigurer ("classpath:my.properties")
- Si je place mon fichier .config en dehors du système de fichiers, et que je change l'url de la ressource en 'file:', tout semble aller bien...
Des conseils ?