2017-03-27 2 views
1

Bonjour Je crée une application web de discussion en utilisant program ab dans java. Si j'accède aux fichiers depuis un stockage externe, cela fonctionne. Si je stocke les fichiers dans mon projet, cela ne fonctionne pas? Je ne sais pas quel est le problème.Où inclure les fichiers aiml bot

Ce code ne fonctionne pas, ServerCode est le nom de mon projet dans eclipse.

String botName = "super"; 
String botPath = "ServerCode/aiml"; 
Bot bot = new Bot(botName, botPath); 
Chat chatSession = new Chat(bot); 
String request = msg.toUpperCase(); 
String response = chatSession.multisentenceRespond(request);  
System.out.println(response); 

Bien que ce code fonctionne,

String botName = "super"; 
String botPath = "E:\ab"; 
Bot bot = new Bot(botName, botPath); 
Chat chatSession = new Chat(bot); 
String request = msg.toUpperCase(); 
String response = chatSession.multisentenceRespond(request);  
System.out.println(response); 

Quel est le problème? comment stocker les dossiers et ses sous-dossiers dans le projet, de sorte que quand je peux créer le fichier war, j'inclue ces fichiers dans ce fichier war.

Répondre

0

Il n'y a aucun problème avec l'endroit où vous stockez les fichiers, le problème est comment vous y avez accédé. Les fichiers sont stockés dans un autre emplacement lorsque vous l'exportez vers le fichier war, vous ne pouvez donc pas accéder aux fichiers. Donc, en changeant la façon dont vous accédez aux fichiers comme ci-dessous, cela fonctionnera bien.

String botPath = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); 
String botName = "super"; 
String botPath = "E:\ab"; 
Bot bot = new Bot(botName, botPath); 
Chat chatSession = new Chat(bot); 
String request = msg.toUpperCase(); 
String response = chatSession.multisentenceRespond(request);  
System.out.println(response);