Er is dus een map /usr/share/stuff
in de hoofdmap
in dingen zijn er een heleboel java-bestanden met package org.name
-definities bovenaan
Ik gebruik javac test.java
waarbij test.java
zich in een subdomein bevindt
Ik heb /usr/share/stuff
toegevoegd aan mijn klaspad.
en bovenaan test.java
voeg ik import org.name
toe
Maar ik krijg de foutmelding package does not exist
…waarom?
Antwoord 1, autoriteit 100%
Staan ze in de juiste submappen?
Als u /usr/share/stuff
op het klassenpad plaatst, moeten bestanden die zijn gedefinieerd met package org.name
zich in /usr/share/stuff/org/name
.
EDIT: als je dit nog niet weet, zou je dit waarschijnlijk moeten lezen: http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding
EDIT 2: Sorry, ik had niet door dat je het had over Java-bronbestanden in /usr/share/stuff
. Ze moeten niet alleen in de juiste submap staan, maar u moet ze ook compileren. De .java
bestanden hoeven niet op het klassenpad te staan, maar op het bronpad. (De gegenereerde .class
bestanden moeten op het klassenpad staan.)
Je zou kunnen wegkomen met het compileren ervan als ze niet in de juiste directorystructuur staan, maar dat zou wel moeten, anders worden er op zijn minst waarschuwingen gegenereerd. De gegenereerde klassenbestanden bevinden zich in de juiste submappen (waar je -d
hebt opgegeven als je die hebt).
U moet iets als javac -sourcepath .:/usr/share/stuff test.java
, aangenomen dat je de .java
bestanden die onder /usr/share/stuff
onder /usr/share/stuff/org/name
(of wat geschikt is volgens hun pakketnamen).
2, Autoriteit 11%
Ik had dit probleem, terwijl ik probeerde een thema te gebruiken verpakt als .jar
in mijn app, het werkte tijdens het debuggen van de app, maar het is niet bij het bouwen / exporteren van de app.
Ik heb het opgelost door de jar
uit te schakelen en handmatig de inhoud toe te voegen aan mijn build-map, wat hieruit is, hiermee:
project/
│
├── build
│ └── classes
│ ├── pt
│ │ └── myAppName ...
│ └── com
│ └── themeName ...
├── src
└── lib
Ik heb niet meer de fout en mijn app laadt met het beoogde thema.
3, Autoriteit 11%
Reimort werkte niet. Na gewerkt voor mij.
Bestand – & GT; Undidate Caches / Restart
Dan
Build – & GT; REBUILD PROJECT
Dat zal het Maven-project herimort.
4, Autoriteit 7%
Ik had het exact hetzelfde probleem bij het handmatig samenstellen via de opdrachtregel, mijn oplossing was dat ik de -sourceptad-directory niet heb opgenomen, dus op die manier zouden alle Subdirectory Java-bestanden ook worden samengesteld!
5, Autoriteit 7%
Klik met de rechtermuisknop op uw MAVEN-project
In de onderkant van de vervolgkeuzelijst
Maven & GT; & GT; Reimport
Het werkt voor mij voor de ontbrekende afhankelijkheid
6
Als u met dit probleem wordt geconfronteerd terwijl u Kotlingebruikt en
kotlin.incremental=true
kapt.incremental.apt=true
in de gradle.properties, dan moet je dit tijdelijk verwijderen om de build te repareren.
Na de succesvolle build kunt u deze eigenschappen opnieuw toevoegen om de buildtijd te versnellen terwijl u Kotlin gebruikt.
Antwoord 7
U moet de volgende regels toevoegen aan uw gradle-buildbestand (build.gradle)
dependencies {
compile files('/usr/share/stuff')
..
}
Antwoord 8
Als je de 2020-versie hebt, heb je waarschijnlijk een bug, zoals ik. Meerdere dingen geprobeerd, maar wat mij hielp is een heel simpel ding.
Instellingen -> Bouw, uitvoering, implementatie -> Bouwgereedschappen -> Maven.
Zet een vinkje bij Override of Local Repository, maar laat de standaardwaarde staan. Solliciteer, oké. Je kunt een foutmelding krijgen, dat is oké. Druk gewoon op de knop “Alle Maven-projecten opnieuw laden” (twee afgeronde pijlen, ziet eruit als de normale knop Vernieuwen) op het Maven-tabblad aan de rechterkant van het scherm. Misschien schoonmaken en installeren. Zou daarna moeten werken.