So ändern Sie ein Eclipse-Standardprojekt in ein Java-Projekt


140

Ich habe ein Projekt von SVN ausgecheckt und den Projekttyp nicht angegeben, daher wurde es als "Standard" -Projekt ausgecheckt. Was ist der einfachste Weg, dies schnell in ein "Java" -Projekt umzuwandeln?

Ich verwende Eclipse Version 3.3.2.



2
Ich verstehe nicht, warum dies für Eclipse so schwierig sein muss
Oliver Watkins

Antworten:


119

Öffnen Sie die .project-Datei und fügen Sie Java Nature und Builder hinzu.

<projectDescription>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

Verweisen Sie in .classpath auf die Java-Bibliotheken:

<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
</classpath>

24
Ich stimme Lorenzo zu. Das manuelle Bearbeiten von Konfigurationsdateien ist ein guter Weg, um Probleme mit Eclipse zu bekommen.
Adam

5
@ Ricky Dies kann in bestimmten Versionen mit bestimmten Plugins über die Benutzeroberfläche erfolgen.
Chris Marasti-Georg

1
@ ChrisMarasti-Georg Ja, Sie haben Recht, aber dennoch sollte die Lösung die Installation dieser Plugins oder die Aktualisierung der Benutzeroberfläche beinhalten, anstatt eine XML-Datei von Hand zu optimieren, insbesondere wenn der Benutzer nicht weiß, was er tut. Auch weil dies dem Zweck einer erweiterten IDE widerspricht.
Ricardoespsanto

1
In meinem Fall musste ich nur das <nature> -Tag zu <natures /> hinzufügen. Ich hatte ein vorhandenes Maven-Projekt importiert und Eclipse erkannte es nicht als Java-Projekt. Eclipse hatte jedoch bereits einen Maven-Abschnitt <buildCommand> korrekt konfiguriert. HTH.
Nathan Smith

@flashdisk sollte sich im Stammverzeichnis des Projekts befinden.
Chris Marasti-Georg

118

Das manuelle Ändern von XML und / oder Einstellungen ist in Eclipse sehr gefährlich, es sei denn, Sie wissen genau, was Sie tun. In dem anderen Fall stellen Sie möglicherweise fest, dass Ihr gesamtes Projekt verschraubt ist. Es wird dringend empfohlen, ein Backup zu erstellen!

Wie geht das nur mit Eclipse?

  1. Projekt auswählen.
  2. Öffnen Sie die Projekteigenschaften über Projekt -> Eigenschaften.
  3. Gehen Sie zu "Targetted Runtimes" und fügen Sie die richtige Laufzeit hinzu. Klicken Sie auf ANWENDEN.
  4. Gehen Sie zu "Projektfacetten" und wählen Sie die JAVA-Facette aus, die aufgrund von Schritt 4 angezeigt wurde. Klicken Sie auf ANWENDEN
  5. Legen Sie Ihren Erstellungspfad fest.
  6. Wenn es sich um ein Maven-Projekt handelt, möchten Sie möglicherweise das Projekt auswählen. Klicken Sie auf Maven -> Projektkonfiguration aktualisieren ...

Das hat es für mich getan. Und Eclipse ist richtig konfiguriert. Hoffe, es wird auch für Sie funktionieren.


25
Lorenzo hat den richtigen Weg, es zu tun. Verwenden von Indigo: Klicken Sie mit der rechten Maustaste auf Projekt> Eigenschaften ...> Projektfacetten> Java
Thien

13
In Eclipse Indigo gibt es keinen Eintrag "Targetted Runtimes" in den Projekteigenschaften, zumindest konnte ich ihn nicht finden.
Simon

8
@ Lorenzo Ich benutze STS und ich habe keine "Java-Facette" unter Projektfacetten. Irgendwelche Ideen?
Robert

17
Beachten Sie, dass "Project Facets" nur in der Java EE-Version von Eclipse (oder mit installiertem WTP) verfügbar ist. Siehe Eclipse - Bug 102527 für mit dieser Funktionalität in allen Versionen.
Robinst

9
hat nicht funktioniert! Ich habe nicht "Targetted Runtimes" und "Project Facets"
Lai

53

In neueren Versionen von Eclipse ist das Update etwas anders ...

  1. Klicken Sie mit der rechten Maustaste und wählen Sie Projekteigenschaften
  2. Wählen Sie Projektfacetten
  3. Klicken Sie ggf. auf "In facettiertes Formular konvertieren".
  4. Wählen Sie "Java" -Facette
  5. OK klicken

23

Ich habe das Projekt gelöscht, ohne Inhalte zu entfernen. Ich habe dann ein neues Java-Projekt aus einer vorhandenen Ressource erstellt. Zeigen auf meinen SVN-Checkout-Stammordner. Das hat bei mir funktioniert. Obwohl Chris 'Weg viel schneller gewesen wäre. Das ist gut für die Zukunft zu beachten. Vielen Dank!


Ihr Weg funktioniert, aber ein wichtiger Punkt: Wie hier erwähnt , dürfen Sie NICHT "Standardspeicherort verwenden" deaktivieren.
Robin Green

12

Mit Projekt Projektfacetten wir Eigenschaften und Anforderungen für Projekte konfigurieren können.

So finden Sie Projektfacetten in Eclipse:

  • Schritt 1: Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie propertiesaus dem Menü.
  • Schritt 2: Wählen Sie die project facetsOption. Klicke aufConvert to faceted form... Geben Sie hier die Bildbeschreibung ein

  • Schritt 3: Wir finden alle verfügbaren Facetten, die Sie auswählen und deren Einstellungen ändern können. Geben Sie hier die Bildbeschreibung ein


erstaunliche Möglichkeit, dieses Problem zu beheben.
Atiq

11

Joes Ansatz ist tatsächlich das effektivste Mittel, das ich für dieses Gespräch gefunden habe. Um etwas mehr darüber zu erfahren, sollten Sie im Paket-Explorer in Eclipse mit der rechten Maustaste auf das Projekt klicken und es dann löschen, ohne das Verzeichnis oder seinen Inhalt zu entfernen. Als Nächstes wählen Sie, ob Sie ein Java-Projekt erstellen möchten (Datei -> Neu -> Java-Projekt), und wählen Sie im Inhaltsbereich des Dialogfelds Neues Java-Projekt die Option "Projekt aus vorhandener Quelle erstellen".

Der Vorteil dieses Ansatzes besteht darin, dass Quellordner ordnungsgemäß identifiziert werden. Ich habe festgestellt, dass das Herumspielen mit der .project-Datei dazu führen kann, dass das gesamte Verzeichnis als Quellordner betrachtet wird, was nicht das ist, was Sie wollen.


Die Arbeit mit Eclipse Kepler Build 20140224-0627 und dem "Datei-> Neu-> Projekt ...-> ... aus vorhandenen Quellen" scheint der einfachste Weg zu sein.
user1050755

Dies funktioniert in Kepler etwas anders. Das Bit 'Projekt aus vorhandener Quelle erstellen' ist nicht erforderlich. Aber ja, das ist der beste Weg, es zu tun.
Luís de Sousa

5

Sie können dies direkt von Eclipse aus über die Navigatoransicht (Fenster -> Ansicht anzeigen -> Navigator) tun. Wählen Sie in der Navigatoransicht das Projekt aus und öffnen Sie es, damit Sie die Datei sehen können .project. Rechtsklick -> Öffnen. Sie erhalten eine XML-Editoransicht. Bearbeiten Sie den Inhalt des Knotens naturesund den Einsatz ein neues Kind naturemit org.eclipse.jdt.core.javanatureals Inhalt. Sparen.

Erstellen Sie nun eine Datei .classpath, die im XML-Editor geöffnet wird. Fügen Sie einen Knoten mit dem Namen hinzu classpath, fügen Sie ein untergeordnetes Element classpathentrymit den Attributen kindmit Inhalt conund ein anderes mit dem Namen pathund Inhalt hinzu org.eclipse.jdt.launching.JRE_CONTAINER. Sparen-

Viel einfacher: Kopieren Sie die Dateien .projectund .classpathaus einem vorhandenen Java-Projekt und bearbeiten Sie den Knoten result nameunter dem Namen dieses Projekts. Möglicherweise müssen Sie das Projekt aktualisieren (F5).

Sie erhalten das gleiche Ergebnis wie mit der Lösung von Chris Marasti-Georg.

Bearbeiten

Geben Sie hier die Bildbeschreibung ein


5

In neueren Versionen von Eclipse (ich verwende 4.9.0) gibt es andere, möglicherweise einfachere Methoden. Neben den Projektfacetten gibt es jetzt auch Project Natures. Hier ist der Vorgang einfach. Rufen Sie die Eigenschaftsseite von Project Natures auf und klicken Sie auf die Schaltfläche Hinzufügen. Dies wird zu möglichen Naturen führen, einschließlich Java Nature und Eclipse Faceted Project Properties. Fügen Sie einfach Java Nature hinzu und ignorieren Sie die verschiedenen Warnmeldungen und fertig.

Projekt Natur

Diese Methode ist möglicherweise besser, da Sie nicht zuerst in das facettierte Formular konvertieren müssen. Außerdem wurde Java im Menü Facette hinzufügen nicht angeboten.


Danke dir.
Ich habe

3

Eine andere Möglichkeit besteht darin, das Projekt aus Eclipse zu löschen (aber den Projektinhalt nicht von der Festplatte zu löschen!) Und dann mit dem Assistenten für neue Java-Projekte ein Projekt direkt zu erstellen. Dieser Assistent erkennt den Java-Code und richtet automatisch Erstellungspfade ein.


1
  1. Klicken Sie mit der rechten Maustaste auf das Projekt
  2. Konfigurieren -> 'In facettiertes Formular konvertieren'
  3. Sie erhalten ein Popup. Wählen Sie "Java" in der Spalte "Projektfacette".
  4. Drücken Sie Übernehmen und OK.

Konfigurieren hat nur zwei Optionen für mich: 1. In Maven konvertieren 2. Verschachteltes Projekt konfigurieren und erkennen. Muss ich etwas aktivieren, um "In facettiertem Formular konfigurieren" zu sehen?
Reihan_amn

@Reihan_amn Es sieht so aus, als ob Ihre aktuelle Installation von Eclipse dies nicht unterstützt. Ich bin nicht sicher, welche Plugins für das "Facettierte Formular" verantwortlich sind, aber wenn Sie die Eclipse EE-Version herunterladen, erhalten Sie sie standardmäßig.
SemTex

1

Abhängig von der betreffenden Eclipse können die erforderlichen WTP-Pakete mit unterschiedlichen Namen gefunden werden. Zum Beispiel fand ich es in Eclipse Luna am einfachsten, mit "Tools" zu suchen und eines auszuwählen, das Tools für die Java EE-Entwicklung erwähnte. Das fügte die Projektfacettenfunktionalität hinzu. Die Suche mit "WTP" war keine große Hilfe.


Um die Facettenoptionen zu erhalten, habe ich neue Software installiert: Eclipse Java EE Developer Tools, Suche nach 'Tools' in Eclipse Oxygen
DM
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.