Java-pakket bestaat niet Fout

Er is dus een map /usr/share/stuffin de hoofdmap

in dingen zijn er een heleboel java-bestanden met package org.name-definities bovenaan

Ik gebruik javac test.javawaarbij test.javazich in een subdomein bevindt

Ik heb /usr/share/stufftoegevoegd aan mijn klaspad.

en bovenaan test.javavoeg 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/stuffop het klassenpad plaatst, moeten bestanden die zijn gedefinieerd met package org.namezich 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 .javabestanden hoeven niet op het klassenpad te staan, maar op het bronpad. (De gegenereerde .classbestanden 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 -dhebt opgegeven als je die hebt).

U moet iets als javac -sourcepath .:/usr/share/stuff test.java, aangenomen dat je de .javabestanden die onder /usr/share/stuffonder /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 .jarin 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 jaruit 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.

Other episodes