2013-05-22 6 views
1

Je développe une petite application web en utilisant Spring MVC framework. Fondamentalement, l'application fournit une interface web, où l'utilisateur peut télécharger le fichier XML et le vérifier par rapport à un fichier XSD spécifique. J'ai mis mon fichier XSD dans "src/main/webapp/XSDfoler". J'ai mis ce dossier dans le classpath de mon Tomcat. (J'utilise Tomcat intégré dans mon Eclipse). Dans mon code, afin d'accéder à mon fichier XSD j'ai simplement utilisé ClassPathResource("myXSD.xsd");déploiement printemps web mvc application à tomcat: classpath question

Cela fonctionne très bien. Maintenant, j'ai créé un fichier .war à partir de ma webapp et j'ai essayé de le déployer sur un autre Tomcat autonome. En essayant de l'exécuter, il donne l'exception NullPointer puisqu'il ne peut pas localiser le fichier "myXSD.xsd". Donc, comme je l'ai compris, je dois inclure ce fichier dans le classpath de cette instance autonome de Tomcat. J'ai cherché un bon tutoriel étape par étape ou un article expliquant comment déployer webapp sur un serveur Tomcat autonome après avoir fait le développement dans l'IDE avec Tomcat embarqué. Quelqu'un pourrait-il expliquer/aider s'il vous plaît. Merci!

+0

dans le fichier de guerre est myXSD.xsd dans le dossier des cours? –

+0

vous voulez dire WEB-INF/classes? Non. Il se trouve dans le dossier "resources" qui se trouve dans le répertoire racine de .war –

Répondre

0

Essayez

ServletContext context = httServletRequest.getSession().getServletContext(); 
InputStream is = context.getResourceAsStream("/XSDfoler/myXSD.xsd"); 

également utiliser getResource() au lieu de getResourceAsStream()

+0

+1 pour l'utilisation du contexte de servlet. –

Questions connexes