Je travaille sur un projet grails et j'ai mis un fichier .jar dans le répertoire lib du projet.ClassNotFoundException pour une classe mais pas une autre pour le même package?
Je continue d'obtenir une exception d'exécution pour ClassNotFoundException dans un de mes fichiers java que j'utilise dans le projet grails.
je une méthode définie en tant que telle:
void printValues(org.docx4j.wml.ParaRPr rpr){
}
et j'ai et la section d'importation qui ressemble
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
import org.docx4j.wml.Body;
import org.docx4j.wml.Style;
C'est ce qui jette l'exception.
Cependant, si je change ma méthode pour être comme
void printValues(org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart rpr){
}
Je ne reçois pas exception d'exécution.
Que pourrait-il se passer ici? J'ai vérifié que le fichier docx4j.jar contient ParaRPr, et c'est le cas. J'ai vérifié que ces classes sont publiques, et elles le sont. Aussi, j'ai essayé différentes classes du répertoire org.docx4j.wml, et certaines me donnent l'exception, et d'autres pas. Comment est-ce possible?
Voici la pleine stacktrace:
2010-09-15 12:37:00,198 [http-8080-1] ERROR errors.GrailsExceptionResolver - org.docx4j.wml.ParaRPr
java.lang.ClassNotFoundException: org.docx4j.wml.ParaRPr
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
at java.security.AccessController.doPrivileged(Native Method)
at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
at javatest.ResumeController$_closure4.doCall(ResumeController.groovy:47)
at javatest.ResumeController$_closure4.doCall(ResumeController.groovy)
at java.lang.Thread.run(Thread.java:619)
[groovyc] Compiling 1 source file to C:\dev\JavaTest\target\classes
Voici la sortie du pot tf sur le fichier jar - montrant la classe ParaRPr là
$ jar -tf docx4j-nightly-20100914.jar | grep Para
org/docx4j/dml/CTTextParagraph.class
org/docx4j/dml/CTTextParagraphProperties.class
org/docx4j/dml/diagram/CTParameter.class
org/docx4j/dml/diagram/STParameterId.class
org/docx4j/math/CTOMathPara.class
org/docx4j/math/CTOMathParaPr.class
org/docx4j/model/properties/paragraph/AbstractParagraphProperty.class
org/docx4j/wml/CTParaRPrOriginal.class
org/docx4j/wml/ParaRPr.class
org/docx4j/wml/ParaRPrChange.class
org/pptx4j/pml/CTTLBuildParagraph.class
org/pptx4j/pml/CTTLTimeNodeParallel.class
org/pptx4j/pml/STTLParaBuildType.class
org/xlsx4j/sml/CTParameter.class
org/xlsx4j/sml/CTParameters.class
org/xlsx4j/sml/STParameterType.class
S'il vous plaît poster la ** stacktrace ** complète. Surtout les * causes de cause * sont les plus importantes. – BalusC
full stacktrace posté – Derek