cs_sana88
Messages postés5Date d'inscriptionmardi 25 janvier 2011StatutMembreDernière intervention24 avril 2012
-
16 avril 2012 à 23:18
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention 8 juillet 2016
-
18 avril 2012 à 10:47
Salut,
j'ai un problème lors de l’exécution de mon programme.
je vais expliquer de quoi il s'agit mon code: je tente à me connecter à la base de données eXist pour sauvegarder des fichiers suivant un code java.
mon code est le voilà:
import java.io.File;
import org.xmldb.api.DatabaseManager;
import org.xmldb.api.base.Collection;
import org.xmldb.api.base.Database;
import org.xmldb.api.modules.CollectionManagementService;
import org.xmldb.api.modules.XMLResource;
public class exp {
public final static String URI = "xmldb:exist://localhost:8080/exist/xmlrpc";
public static void main(String args[]) throws Exception {
/*if(args.length < 2)
{
System.out.println("usage: StoreExample collection-path document");
System.exit(1);
}*/ ceci est en commentaire car lorsque j’exécute il m'affiche cette phrase
System.out.println("donner le nom de la collection");
String collection args[0] , file args[1] ;
// initialisation du driver
String driver = "org.exist.xmldb.DatabaseImpl";
Class cl = Class.forName(driver);
Database database = (Database)cl.newInstance();
DatabaseManager.registerDatabase(database);
// Accès à la collection
Collection col =DatabaseManager.getCollection(URI + collection);
if(col == null) {
// la collection n’existe pas. Créer une root pour une nouvelle collection
// pour simplifier, on suppose que la nouvelle collection est un fils direct de la root collection,
// e.g. /db/test. L’exemple échouera sinon
Collection root = DatabaseManager.getCollection(URI + "/db");
CollectionManagementService mgtService = (CollectionManagementService)root.getService("CollectionManagementService", "1.0");
col = mgtService.createCollection(collection.substring("/db".length()));
}
// créer une nouvelle XMLResource; un id sera affecté à la nouvelle ressource
XMLResource document = (XMLResource)col.createResource(null, "XMLResource");
File f = new File(file);
if(!f.canRead()) {
System.out.println("cannot read file " + file);
return;
}
document.setContent(f);
System.out.print("storing document " + document.getId() + "...");
col.storeResource(document);
System.out.println("ok.");
}
}
merci d'avance pour votre aide
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention 8 juillet 201611 17 avril 2012 à 08:33
Salut,
Si je comprends bien, tu as mis en commentaire le code qui empêche l'application de se lancer si l'utilisateur ne donne pas au moins 2 arguments. Et donc tu demandes pourquoi tu as une exception ArrayOutOfBounds lorsque tu demandes le deuxième argument...
ne vois-tu pas la un comportement logique de ton application??
Si tu veux lancer ton application avec des arguments et donc qu'elle s'exécute, donne les lui... Si tu lance l'application via ton IDE (eclipse, netbeans, ...) cela se fait dans la configuration d'exécution....
cs_sana88
Messages postés5Date d'inscriptionmardi 25 janvier 2011StatutMembreDernière intervention24 avril 2012 17 avril 2012 à 21:21
Merci pour votre réponse d'abord,
je vais vous expliquer comment g trouvé l'erreur. g mis en commentaire le code suivant "/*if(args.length < 2)
{
System.out.println("usage: StoreExample collection-path document");
System.exit(1);
}*/" car lors de l'exécution du programme, le résultat sera cette phrase, et ce que g compris que l’exécution est arrêtée à ce niveau et je ne peux pas ajouter mes deux arguments.
et en mettant cette partie en commentaire, j'aurai cette exception.
autre question svp je n'arrive pas à savoir ou mettre mes 2 arguments car lors de l’exécution, je reçois qu'une phrase.
L'informatique est un domaine ou savoir rechercher une information sur le net est plus qu'utile... Ce n'est qu'après avoir recherché sans succès une information qu'on demande...
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 18 avril 2012 à 10:42
http://netbeans.developpez.com/faq/?page=DeveloppementJ2SE#argumentsJVM bouton droit sur le projet, -> Properties
Dans le panneau de gauche, sélectionnez Run
Dans Main Class: la classe possédant la méthode main
Dans Arguments : les arguments de l'application (qui seront passés en paramètre à la méthode main(String[] args))
Dans VM Options : les paramêtres à passer à la machine virtuelle. Par exemple: -Xms10m
Dans Working Directory : le répertoire utilisé pour démarrer l'application. Si rien n'est précisé, c'est le répertoire racine du proje