2010-03-10 1 views
23

A décidé d'utiliser le package de configuration commune d'Apache pour analyser un fichier XML.ConfigurationException en Java?

j'ai décidé de faire:

XMLConfiguration xmlConfig = new XMLConfiguration(file); 

Auquel Eclipse se plaint que je ne l'ai pas pris une exception (Unhandled exception type ConfigurationException), donc je frappé le surround with try/catch fidèle et il a ajouté le code suivant:

try 
    { 
     XMLConfiguration xmlConfig = new XMLConfiguration(file); 
    } 
    catch (ConfigurationException ex) 
    { 
     ex.printStackTrace(); 
    } 

Mais maintenant, il se plaint:

No exception of type ConfigurationException can be thrown; an exception type 
must be a subclass of Throwable 

Je ne comprends pas pourquoi ça m'a donné cette erreur quand Eclipse est celle qui a suggéré de l'ajouter.

Répondre

28

org.apache.commons.configuration.ConfigurationException s'étend à org.apache.commons.lang.exception.NestableException.

Avez-vous aussi Commons Lang sur votre chemin? Sinon, Eclipse échouera à résoudre la classe ConfigurationException et vous obtiendrez cette erreur.

+1

Maintenant, je reçois cette erreur: 'Exception dans le fil" principal "java.lang.NoClassDefFoundError: org/apache/commons/collections/Predicate'. Savez-vous pourquoi c'est? Tellement confus. Je l'ai ajouté à mes bibliothèques dans Eclipse! – Federer

+4

@ 8EM: On dirait que vous avez aussi besoin des Collections Commons. – skaffman

+0

vous pouvez toujours obtenir des erreurs si vous n'êtes pas prudent avec les dépendances de version sur ce .... vérifier ici pour plus d'informations: http: //stackoverflow.com/a/7651867/26510 –

20

Vous devez Apache Commons Lang2,6

(version actuelle de configuration d'Apache Common (1.8) fonctionne wont avec la version 3.1 de la bibliothèque Apache Lang Common, vous pourriez avoir besoin de vérifier les dépendances de configuration communes here)

7

I également fait face à ce problème. Pour résoudre ce problème - Veuillez télécharger commons-lang-2.6.jar de http://commons.apache.org/proper/commons-lang/download_lang.cgi et ajoutez ce fichier commons-lang-2.6.jar au chemin de compilation de votre projet. Cela devrait résoudre votre problème.

+0

ur bienvenue :) !! –