JAVA Εξαιρέσεις
-
- bit level
- Posts: 20
- Joined: Fri Apr 21, 2006 12:02 pm
JAVA Εξαιρέσεις
Έχω κατεβάσει κάποια βιβλιοθήκη Castor με την οποία μετατρέπεις XML αρχεία σε JAVA και αντίθετο. Έχω βρει και κώδικα στο site http://www.netobjectives.com/xml/download/castor.pdf που χρησιμοποιεί το Castor για να ελέγξω ότι όντως γίνονται οι μετατροπές. Ένώ μεταγλωττίζεται σωστά όταν το τρέχω μου βγάζει τις παρακάτω εξαιρέσεις:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.exolab.castor.util.Configuration.<clinit><Configuration.java:103>
at org.exolab.castor.xml.Unmarshaller.initConfi(Unmarshaller.java:275)
at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:226)
at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:213)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:787)
at ReadPerson.main(ReadPerson.java:8)
Μήπως ξέρει κανείς τι φταίεί; Τί είναι το org/apache/commons/logging/LogFactory?
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.exolab.castor.util.Configuration.<clinit><Configuration.java:103>
at org.exolab.castor.xml.Unmarshaller.initConfi(Unmarshaller.java:275)
at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:226)
at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:213)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:787)
at ReadPerson.main(ReadPerson.java:8)
Μήπως ξέρει κανείς τι φταίεί; Τί είναι το org/apache/commons/logging/LogFactory?
-
- bit level
- Posts: 20
- Joined: Fri Apr 21, 2006 12:02 pm
http://castor.codehaus.org/download.html
Διαβασε το κομματι που λεει για Dependent Libraries.
Ολα αυτα τα jar-akia πρεπει να ειναι στο ιδιο directory με αυτο του castor για να δουλεψει.
Btw εσυ δεν χρειαζεσαι να κανεις τπτ import.Τα jar αυτα χρειαζονται γιατι κλασεις της βιβλιοθηκης castor τα κανουν import καπου στο κωδικα τους και γι'αυτο πρεπει να ειναι στο classpath.Οπως και ο δικος σου κωδικας κανει import και χρηση κλασεων της library castor.
Στο classpath ψαχνει η java at runtime να βρει τις διαφορες κλασεις που γινονται import.
Συγκεκριμενα κατεβασε το castor-1.0.4.zip και το castor-1.0.4-src.zip και πεταξε στον ιδιο φακελο ολα τα jar που βρεις στο πρωτο και αυτα τα jar
cglib-full-2.0.2.jar CGLIB (Castor JDO only)
commons-logging-1.1.jar Jakarta Commons Loggin
jdbc-se2.0.jar JDBC 2.0 standard extension (JDO)
jndi_1.2.1.jar The JNDI API (DSML/JNDI)
jta1.0.1.jar The JTA API (transactions) (Castor JDO only)
ldapjdk.jar Mozilla Directory SDK (DSML/MDS)
log4j-1.2.13.jar Log4J
xerces-J_1.4.0.jar Xerces XML library
στον φακελο lib του δευτερου.
Tell me if it worked.
Διαβασε το κομματι που λεει για Dependent Libraries.
Ολα αυτα τα jar-akia πρεπει να ειναι στο ιδιο directory με αυτο του castor για να δουλεψει.
Btw εσυ δεν χρειαζεσαι να κανεις τπτ import.Τα jar αυτα χρειαζονται γιατι κλασεις της βιβλιοθηκης castor τα κανουν import καπου στο κωδικα τους και γι'αυτο πρεπει να ειναι στο classpath.Οπως και ο δικος σου κωδικας κανει import και χρηση κλασεων της library castor.
Στο classpath ψαχνει η java at runtime να βρει τις διαφορες κλασεις που γινονται import.
Συγκεκριμενα κατεβασε το castor-1.0.4.zip και το castor-1.0.4-src.zip και πεταξε στον ιδιο φακελο ολα τα jar που βρεις στο πρωτο και αυτα τα jar
cglib-full-2.0.2.jar CGLIB (Castor JDO only)
commons-logging-1.1.jar Jakarta Commons Loggin
jdbc-se2.0.jar JDBC 2.0 standard extension (JDO)
jndi_1.2.1.jar The JNDI API (DSML/JNDI)
jta1.0.1.jar The JTA API (transactions) (Castor JDO only)
ldapjdk.jar Mozilla Directory SDK (DSML/MDS)
log4j-1.2.13.jar Log4J
xerces-J_1.4.0.jar Xerces XML library
στον φακελο lib του δευτερου.
Tell me if it worked.
-
- bit level
- Posts: 20
- Joined: Fri Apr 21, 2006 12:02 pm
Λοιπόν, από τα castor : castor-1.0.4-src.zip και castor-1.0.4.zip το πρώτο μόνο περιείχε .jar αρχεία στο φάκελο lib όπως μου είπες. Από το site http://www.castor.org/download.html και τα dependency jars λείπει ένα , το ldapsp.jar το οποίο δεν μπορώ με τπτ να βρω στο web. Όλα τα άλλα ευτυχώς υπήρχαν στο lib. Τώρα αυτά τα έβαλα μια στο bin χύμα, μια στον φάκελο που ήταν μέσα το castor και που δεν τα΄βαλα!Δεν ξέρω τι κάνω λάθος και βγάζει πάλι τα ίδια...Ίσως να φταίει που δεν έχω βρει αυτό το ένα jar αρχείο...
-
- bit level
- Posts: 20
- Joined: Fri Apr 21, 2006 12:02 pm
-
- Venus Former Team Member
- Posts: 7561
- Joined: Thu Oct 27, 2005 1:43 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Boston, MA
ένα print screen και ανέβασε το στο Imageshack, να μην τρέχεις κιόλας
-
- bit level
- Posts: 20
- Joined: Fri Apr 21, 2006 12:02 pm
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.exolab.castor.xml.Marshaller.initialize(Marshaller.java:401)
at org.exolab.castor.xml.Marshaller.<init>(Marshaller.java:335)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:733)
at CastorTest.main(CastorTest.java:54)
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log implementation
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:842)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
at org.exolab.castor.util.Configuration.<clinit>(Configuration.java:103)
...4more
Αυτά μου πετάει τώρα...
at org.exolab.castor.xml.Marshaller.initialize(Marshaller.java:401)
at org.exolab.castor.xml.Marshaller.<init>(Marshaller.java:335)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:733)
at CastorTest.main(CastorTest.java:54)
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log implementation
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:842)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
at org.exolab.castor.util.Configuration.<clinit>(Configuration.java:103)
...4more
Αυτά μου πετάει τώρα...