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?

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.java
vorausgesetzt, 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).
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.
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 jar
und 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.
Du brauchst org/name
dir bei /usr/share/stuff
und platzieren Sie Ihre org.name
Paketquellen in diesem Verzeichnis.

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!

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

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.
10143100cookie-checkJava-Paket existiert nicht Fehleryes
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