2011-01-11 10 views
5

Ich versuche, einige vorhandene Projekte in Eclipse zu importieren. Die Strukturen für ihre Pakete ist:Problem in Paketen beim Importieren in Eclipse

Project/ 
     /src 
      /java 
      /a 
       /b 
       /c 

Einmal im Paket-Explorer importiert ich sehe:

Project 
    src/java 
     --a 
     --b 
      --c 
       - AClass.java 

Das ist in Ordnung, da die Klassen z.B. AClass.java ist im Paket definiert: a.b.c Aber in einem Projekt die Struktur (einmal importiert) wird:

Project 
    src 
    --java 
     --a 
      --b 
      --c 
       - AClass.java 

Und das verursacht den Fehler, dass AClass.java definiert im Paket sein a.b.c aber es ist unter eigentlich java.a.b.c
Warum passiert das? Warum wird Java in diesem speziellen Projekt nicht als Teil des Pakets ignoriert?
Danke

+0

ist dieses Maven-Projekt? –

+0

@ org.life.Java: Ich denke es ist – Cratylus

Antwort

7

Wie erstellen Sie die Eclipse-Projekte? Es hört sich so an, als müssten Sie "java" als Root auf dem Quellpfad anstelle von "src" setzen. Sie können dies natürlich tun, indem Sie den Build-Pfad nach dem Importvorgang bearbeiten.

+0

@JonSkeet: Wie lege ich Java als Route? Ich kann nicht sehen, wie man das über den Build-Pfad-Dialog macht. Wenn ich editiere, um 'src/java in Java Build Path-> Source 'zu platzieren, bekomme ich den Fehler" Ordner src \ java "existiert bereits – Cratylus

+1

@ user384706: Sie müssen" src "als root zuerst entfernen, aber dann unter Auf der Registerkarte "Quelle" sollten Sie einfach auf "Hinzufügen" klicken und dann zum richtigen Ort navigieren. Ich habe gerade keine Eclipse vor mir, also kann ich keine genauen Details angeben - aber der Build Path-Dialog ist der richtige Ort zum Basteln. –

+0

@ Jon Skeet du hast Recht. @ user384706 Vielleicht möchten Sie ein Quellverzeichnis erstellen, sagen src1 und Link-Quelle. – Nishant

0

Anruf das Paket auf der Oberseite Ihrer Import-Anweisungen,

wie wenn Ihre Klasse ist in Java/main/org/Ziel/Main.java

dann ist der Weg Paket java.main.org .Tor;

anderes tun Ctrl +1 und es einige schnelle Hilfe von diesem ersten

+1

nicht downvoting, aber ich denke, du liegst falsch. Die Java-Projektstruktur, insbesondere Maven-gesteuerte, haben einen Klassenpfad von "/ java/main". Der App-Code geht unter "main" und die Klassen beginnen von dort. Also, 'java.main.org.goal. *' Ist falsch, es sollte 'org.goal. *' – Nishant

5

Entfernen Sie die vorhandenen Quellordner

Import die notwendige Paket vorschlagen. -right Klick -> Menü -> bauen Pfad -> von Build-Pfad entfernen

dann

rechts auf dem Quellordner klicken. Build Pfad -> als Quellordner verwenden.

Scheint so, als ob Ihre Einstellungen auf das Parent des Quellordners zeigen, so dass src von Eclipse als Paket erkannt wird.

Wrong package name when using automatically added imports in Eclipse

+0

@fatih: "Scheint so, als ob deine Einstellungen auf den Eltern des Quellordners, also src, zeigen." Wie werden diese Einstellungen konfiguriert/geändert? – Cratylus

+0

Projekteigenschaften -> Build Path -> Source Registerkarte oder wie in der obigen Nachricht beschrieben – fmucar

+0

@fatih: Diese betreffen nicht das Dateisystem des Projekts, oder? – Cratylus

0

Mit diesem Satz import java.io.*; an der Spitze der Java-Datei. Andernfalls müssen Sie den Paketordner erstellen.

Import-Anweisungen:

In Java, wenn ein voll qualifizierten Namen, die das Paket und den Klassennamen enthält, angegeben wird, wird der Compiler den Quellcode oder Klassen leicht finden können. Import-Anweisung ist eine Möglichkeit, dem Compiler die richtige Position zu geben, um diese bestimmte Klasse zu finden.

Zum Beispiel die folgende Zeile würde Compiler bitten alle Klassen im Verzeichnis java_installation/java/io verfügbar zu laden:

import java.io.*;

Verwandte Themen