2010-09-09 5 views
0

J'essaie d'utiliser un fichier .properties personnalisé que j'ai créé pour héberger certaines propriétés sur une base de données SQL, mais le problème est que mon application de printemps ne peux pas le trouver.fileNotfound exception de mon fichier de propriétés

i l'erreur suivante

Causée par: java.io.FileNotFoundException: Impossible d'ouvrir la ressource ServletContext [/jdbc.properties]

i ont essayé de mettre ce fichier à la racine de mon projet et aussi à l'intérieur de la racine du dossier WEB-INF et toujours pas de joie.

mes propriétés haricot ressemble configurateur ceci:

<bean id="propertyConfigurer" 
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>jdbc.properties</value> 
     </list> 
    </property> 
</bean> 
+1

Que voulez-vous dire « la racine de mon projet »? – skaffman

+0

J'allais poser la même question. :] Jonney, essayez de mettre jdbc.properties dans la racine de votre chemin de classe, plutôt que la racine de votre projet. C'est généralement src/java/main /, ou éventuellement src/si vous n'utilisez pas Maven. – earldouglas

Répondre

1

Qu'est-ce qui se passe lorsque vous essayez classpath *: jdbc.propertie ou classpath: jdbc.properties?

+0

ok je vais essayer ça. où le dossier de propriétés suppose-t-il d'aller? – jonney

+0

'classpath: something.properties' ne fonctionne pas alors que' classpath *: something.properties' est actif. Que signifie ce dernier? – Suzi

2

L'erreur indique que le fichier jdbc.properties doit aller à la racine de la WAR, c'est-à-dire à côté du répertoire WEB-INF, et non à l'intérieur.

+0

Merci, je vais essayer – jonney

0

Il pourrait être l'une des 2 choses:

(1) Le propertyPlaceholder Je ne trouve pas le fichier car il est imbriqué dans un dossier. C'est correct car vous pouvez ajouter vos ressources en utilisant la directive classpath:. Voici un exemple:

<bean id="propertySourcesPlaceholderConfigurer" 
     class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"> 
    <property name="ignoreUnresolvablePlaceholders" value="true"/> 
    <property name="propertiesArray"> 
     <list> 
      <value>classpath:jdbc.properties</value> 
     </list> 
    </property> 
</bean> 

(2) Si vous utilisez Maven, vous n'êtes probablement pas incluez ce fichier dans votre classpath en utilisant l'élément Maven construire des ressources.

 <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <includes> 
       <include>**/*.xml</include> 
       <include>**/*.properties</include> 
      </includes> 
      <filtering>false</filtering> 
     </resource> 
     <resource> 
      <directory>src/main/filtered-resources</directory> 
      <includes> 
       <include>**/*.xml</include> 
      </includes> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 

Peut-être vous inclut seulement des fichiers xml, ou vous excluez certains chemins de fichier :)

Questions connexes