Java-Paket existiert nicht Fehler

Lesezeit: 3 Minuten

Es gibt also einen Ordner /usr/share/stuff im Stammverzeichnis

in stuff gibt es eine Reihe von Java-Dateien mit package org.name Definitionen ganz oben

ich renne javac test.java wo test.java befindet sich in einer Subdomain

Ich fügte hinzu /usr/share/stuff zu meinem Klassenpfad.

und oben auf test.java ich füge hinzu import org.name

Aber ich bekomme eine package does not exist Fehler … warum?

  • Angenommen, Sie haben die Java-Dateien in das richtige Verzeichnis kompiliert (Klassendateien befinden sich in “/usr/share/stuff/org/name”), müssen Sie auch die eigentlichen Dateien oder den Platzhalter in test.java importieren (“import org. name.MyClass’ oder ‘import org.name.*’). Wenn Sie nur “org.name importieren” ausführen, tritt dieser Fehler auf (fragen Sie mich, woher ich das weiß, lol)

    – Rdesmond

    4. November 2016 um 19:09 Uhr

  • ist dies eine Runtime-Ausnahme oder eine Compile-Time-Ausnahme?

    – Shiva Kumar

    11. Februar um 16:03 Uhr

Benutzer-Avatar
Bruno

Sind sie in den richtigen Unterverzeichnissen?

Wenn Sie setzen /usr/share/stuff auf dem Klassenpfad, Dateien mit definiert package org.name sollte drin sein /usr/share/stuff/org/name.

BEARBEITEN: Wenn Sie das noch nicht wissen, sollten Sie es wahrscheinlich lesen dieses Dokument über das Verständnis von Classpath.

BEARBEITEN 2: Tut mir leid, ich hatte nicht bemerkt, dass Sie von Java-Quelldateien in gesprochen haben /usr/share/stuff. Sie müssen sich nicht nur im entsprechenden Unterverzeichnis befinden, sondern Sie müssen sie auch kompilieren. Das .java Dateien müssen nicht auf dem sein Klassenpfadaber auf der Quellpfad. (Die generierte .class Dateien müssen auf der Klassenpfad.)

Sie könnten damit durchkommen, sie zu kompilieren, wenn sie sich nicht in der richtigen Verzeichnisstruktur befinden, aber sie sollten es sein, oder es werden zumindest Warnungen generiert. Die generierten Klassendateien befinden sich in den richtigen Unterverzeichnissen (wo immer Sie angegeben haben -d Wenn Sie haben).

Sie sollten so etwas wie verwenden javac -sourcepath .:/usr/share/stuff test.javavorausgesetzt, Sie haben die gesetzt .java Dateien, die unter waren /usr/share/stuff unter /usr/share/stuff/org/name (oder was auch immer entsprechend ihren Paketnamen angemessen ist).

  • Danke! … Das hat immer noch nicht funktioniert … Ich habe dies getan, aber es heißt immer noch, dass das Paket nicht gefunden werden kann. Reicht es aus, den Klassenpfad auf der Subdomain zu bearbeiten, oder muss dieser auch im Stammverzeichnis bearbeitet werden?

    – algorithmischerCoder

    16. Juni 2011 um 16:54 Uhr

Nur neu importieren hat nicht funktioniert. Folgendes hat bei mir funktioniert.

Datei -> Caches ungültig machen / Neustart

Dann

Erstellen -> Projekt neu erstellen

Dadurch wird das Maven-Projekt erneut importiert.

  • Es war nützlich. Hat für mich funktioniert.

    – Soumik Das

    15. Dezember 2021 um 21:29 Uhr

Ich hatte dieses Problem, als ich versuchte, ein Thema zu verwenden, das als verpackt wurde .jar In meiner App funktionierte es beim Debuggen der App, aber nicht beim Erstellen/Exportieren der App.

Ich habe es gelöst, indem ich die Datei entpackt habe jarund füge seinen Inhalt manuell zu meinem Build-Ordner hinzu, was zu Folgendem führt:

project/
   │
   ├── build 
   │   └── classes
   │       ├── pt
   │       │   └── myAppName ... 
   │       └── com
   │           └── themeName ...
   ├── src
   └── lib

Ich habe den Fehler nicht mehr und meine App wird mit dem beabsichtigten Design geladen.

  • Das wird funktionieren, ist aber der falsche Ansatz; Sie sollten stattdessen Ihre Einstellungen ändern, um die .jar-Datei beim Export in Ihre .jar-Datei aufzunehmen.

    – SpacePrez

    5. Dezember 2017 um 21:44 Uhr

Du brauchst org/name dir bei /usr/share/stuff und platzieren Sie Ihre org.name Paketquellen in diesem Verzeichnis.

Benutzer-Avatar
Xenland

Ich hatte genau das gleiche Problem beim manuellen Kompilieren über die Befehlszeile. Meine Lösung war, dass ich das Verzeichnis -sourcepath nicht eingeschlossen habe, damit alle Java-Dateien des Unterverzeichnisses ebenfalls kompiliert würden!

Benutzer-Avatar
Mewan

Klicken Sie mit der rechten Maustaste auf Ihr Maven-Projekt unten in der Dropdown-Liste Maven >> reimport

es funktioniert für mich für die fehlenden Abhängigkeiten

Benutzer-Avatar
Rishab Sagar

Wenn dieses Problem während der Verwendung auftritt Kotlin und haben

kotlin.incremental=true
kapt.incremental.apt=true

in dem gradle.propertiesdann müssen Sie diese vorübergehend entfernen, um den Build zu reparieren.

Nach dem erfolgreichen Build können Sie diese Eigenschaften erneut hinzufügen, um die Build-Zeit bei der Verwendung von Kotlin zu beschleunigen.

1014310cookie-checkJava-Paket existiert nicht Fehler

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy