Θέλω να δω πόσο εξελιχθήκαμε στον τομέα αυτό που ρωτάς κάτι και σου απαντούν όλοι. Λοιπόν έχω το εξής προγραμματάκι σε java :
import org.xml.sax.InputSource; import javax.xml.xpath.*; import org.apache.xpath.NodeSet;
public class Something {
public static void main(String[] args) {
try {
XPath xpath = XPathFactory.newInstance().newXPath(); String expression = "/widgets/widget"; InputSource inputSource = new InputSource("C:\\catalog.xml"); NodeSet nodes = (NodeSet) xpath.evaluate(expression, inputSource,XPathConstants.NODESET); } catch (Exception e) {} } }
και παίρνω αυτό το μήνυμα :
java.lang.UnsupportedClassVersionError: Something (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) bla bla bla bla.
Το internet δεν με βοηθά και ούτε οι Αμερικάνοι στα forums. Λέει ότι είναι κάτι με τα versions του JDK αλλά έχω κατεβάσει τα τελευταία και τα έχω ρυθμίσει και στον JBuilder αλλά πάλι τίποτε. Έχει κανένας καμιά ιδέα;
Ευχαριστώ πολύ,
Υ.Γ Κερνώ φραπέ αυτόν που θα το λύσει. Υ.Γ 2 : Το πρόγραμμα δεν ξεκινά. Πετάει ένα μύνημα του JVM ότι δεν βρίσκει την main μέθοδο.
Καταρχήν πρέπει να ομολογήσω ότι έχω να χρησιμοποιήσω java τουλάχιστον 5 χρόνια (μπορεί και παραπάνω)…
Πιθανόν κάποιο από τα imports σου να έγινε build/compiled με διαφορετικό JDK version από αυτό που χρησιμοποιείς εσύ. Δοκίμασε πρώτα να κάνεις comment out τον κώδικα στην main function για να δούμε αν το βγάζει ακόμα. Αν το βγάζει δοκίμασε ένα ένα να κάνεις comment out και τα imports σου.
Σημείωση: πίνω φρέτο με διπλή δόση εσπρέσο, χωρίς ζάχαρη/γάλα/κρέμα, σε μεγάλο ποτήρι! ;-)
-- Κωνσταντίνος Κωνσταντίνου ~constandinos, May 16, 2006
Δοκίμασες να το κάνεις compile από το command-line; Έχεις πολλά JSDKs εγκατεστημένα;
-- Χρίστος Ευαγγέλου ~christose, May 16, 2006
Χρίστο, το ‘import org.apache.xpath.NodeSet;‘ γιατί το βάζεις; Μάλλον είναι εξωτερική βιβλιοθήκη (κάνεις include κάποιο JAR file στο classpath σου;) Αν αυτή η βιβλιοθήκη ήταν έτοιμη, και είχε γίνει build με κάποια άλλη version της Java απο αυτή που χρησιμοποιάς, τότε παίρνεις αυτό το error.
Επίσης, αν χρησιμοποιείς Java 5+ τότε δεν χρειάζεσαι external libraries (π.χ. org.apache.xpath.*) επειδή η Java 5+ έχει built in XML support. Αν μου δώσεις περισσότερες πληροφορίες [π.χ. τι version java εχεις, και ποια ακριβώς libraries χρησιμοποιείς) τότε μπορώ να σε βοηθήσω περισσότερο :-)
-- Νέαρχος Πασπαλλής ~nearchos, May 16, 2006
Παιδιά ευχαριστώ πολύ για τον κόπο σας αλλά το φραπέ πάει στον Τάσο τον Σοφοκλέους που μου βρήκε την λύση. Το απλό πρόβλημα ήταν ότι έπρεπε να αλλάξει το path του SDK σε 1.5 update 6 από το Default project properties -> Path -> JDK ενώ στο internet έλεγε να το αλλάξω από το Default project properties -> Built -> Java -> Target VM και Language features. Αυτό είναι. Τώρα που τρέχει το XPath μένει να βρούμε τρόπο να το αξιοποιήσουμε. Ευχαριστώ και πάλι .
-- Ανδρέας Φλωρίδης ~flo, May 16, 2006