IDE meldet in älterem Java Projekt Fehler

G00fY

Captain
Registriert
Aug. 2009
Beiträge
3.740
Hallo zusammen,

ich habe vor zwei Jahren intensiver an einem kleinen Projekt gearbeitet, in dem ich mittels Java-Backend einen einfachen RESTful Webservice mit Daten aus einer Datenbank gefüttert habe. Nun habe ich das Projekt, welches ich per SVN verwaltet habe, erneut ausgecheckt und bekomme dutzende Fehlermeldungen in Eclipse EE und Netbeans EE angezeigt. Das System wurde zwischen zeitig komplett neu aufgesetzt und es läuft nun Win8.1 mit neustem Java SDK und Eclipse. Es scheint mir so, als ob die Libraries fehlen.


Die IDE meldet Fehler bei folgenden Importen:
  • import javax.persistence
  • import javax.ws
  • import org.springframework.stereotype.Component
  • import org.codehaus
  • import com.sun.jersey
  • import org.junit

Kann das durch das JDK7 kommen (meine ich habe vorher mit dem 6er gearbeitet)? Ich dachte immer die benötigten Libraries legt die IDE ohnehin in den Classpath.

Ich habe ehrlich gesagt wenig Ahnung von Java und wollte mit dem Projekt wieder was Erfahrungen sammeln. Aber es frustriert wenn das Konfigurieren der IDE wieder so früh Hürden aufstellt.

Habt ihr vielleicht eine Idee?

Danke im voraus.:freaky:
 
Zuletzt bearbeitet:
Evtl. hast du als javaversion nur die sdk eingestellt. Stell mal auf jdk bzw j2ee um.
 
wahlweise könntest auch erstmal mit netbeans weitermachen.
die ide ist ein wenig anfängerfreundlicher und bringt viele libs von sich aus mit.
 
Die genannten Packages sind nicht bei Java mit dabei. Entweder hast du diese noch auf der Festplatte liegen und musst diese einbinden oder du musst sie alle downloaden und dann auf diese verweisen.
Unter eclipse findest du evtl. die alten Pfade noch mit Rechtsklick auf Projekt->Properties, dann unter "Java Build Path" im Tab "Libraries". Hier sind bei dir vermutlich einige jars rot markiert. Und hier werden auch die neuen jars eingebunden!
Sollte es ein Maven-Projekt sein, dann geht das evtl. auch über maven mit "mvn clean install" von cmd aus oder über Rechtsklick auf Projekt->Maven->Update Dependencies
 
Könntet ihr vielleicht mit Blick in das SVN mehr zu meinem Problem sagen?

Wäre wirklich eine sehr große Hilfe für mich. Vielen Dank.:)
 
Zuletzt bearbeitet:
OK, laut svn ist es ein maven-Projekt. Dann aktualisiere alle Dependencies und schon sollte es passen.

An deiner Stelle würde ich nach dem Auschecken auf die Kommandozeile wechseln und im Projektverzeichnis ein "mvn clean install" aufrufen. Das lädt alle Dependencies runter und baut alles neu.

Wenn maven nicht installiert ist, dann versuche es unter eclipse, so wie ich es schon beschrieben habe.
 
Maven hab ich schon korrekt installiert. Hatte auch im Kopf, dass man das Projekt irgendwie "neu aufbauen" kann. Werde es heute abend mal versuchen.

Kurz zum Verständis, Maven löscht also mittels clean install erst alle alten generieten Dateien und legt dann ein neues Package mit den benötigten Libraries an, oder wie läuft das ab?
 
Schau mal hier --> Maven-Beispiele

Oder hier --> Maven in 5 Minuten

Evtl. reicht schon ein "mvn compile".

Befass dich auf jeden Fall mal näher mit Maven!


Und wegen deiner Frage: ja, "clean" löscht alle generierten Dateien. "install" checkt dependencies, lädt evtl. welche runter, baut alles und installiert das Projekt im lokalem Repository. Eigentlich reicht für dich also ein "mvn clean compile" auch schon bzw. sogar ein "mvn compile".

Die Zukunft gehört aber vermutlich eher "git" (oder ähnliches). Aber trotzdem kommt man an Maven die nächsten Jahre vermutlich nicht vorbei.
 
Zuletzt bearbeitet:
Auch wenn ich Maven alles andere als hübsch finde - durch git (:love:) wird es sicher nicht ersetzt, denn das sind zwei völlig verschiedene Dinge. Maven wird eher durch Gradle, Buildr usw. ersetzt (aber die Verbreitung ist zu stark und das Vermögen umzusteigen zu gering - hängen ja sogar noch viele bei Ant).

Maven ist keine Versionsverwaltung (wie git) sondern ein Build- und Dependency-Management-Tool was automatisch den classpath deines Projekts mit in der/den pom.xml(s) definierten libs anreichert (und diese selbstständig herunterlädt und im lokalen repository aufbewahrt, sodass alle deine Projekte sie nutzen können.
 
Zurück
Oben