Reputation: 6799
So there's a folder /usr/share/stuff
in the root directory
in stuff there are a bunch of java files with package org.name
definitions at the top
I am running javac test.java
where test.java
is in a subdomain
I added /usr/share/stuff
to my class path.
and at the top of test.java
I add import org.name
But I get a package does not exist
error...why?
Upvotes: 58
Views: 440082
Reputation: 1089
I had issue importing Kotlin class in Java class.
Solution was to add kotlin-android
plugin in module build.gradle
as:
plugins {
id 'com.android.library'
id 'kotlin-android' <- this
}
android {
compileSdk 33
...
Upvotes: 0
Reputation: 71
For me on intelliJ the solution was Right Click on project folder > Run Maven > Reimport Project
Upvotes: 0
Reputation: 1
I fixed it. In intellij idea:
This solved my problem!
Upvotes: 0
Reputation: 690
I came to this question because a bringing a file from one folder to another caused this error for me. The command that fixed it is below. I had the same package in multiple directories, and it was only looking at one of the directories.
So, if it's a Maven project, try mvn clean install --update-snapshots
Upvotes: 0
Reputation: 122739
Are they in the right subdirectories?
If you put /usr/share/stuff
on the class path, files defined with package org.name
should be in /usr/share/stuff/org/name
.
EDIT: If you don't already know this, you should probably read this doc about understanding classpath.
EDIT 2: Sorry, I hadn't realised you were talking of Java source files in /usr/share/stuff
. Not only they need to be in the appropriate sub-directory, but you need to compile them. The .java
files don't need to be on the classpath, but on the source path. (The generated .class
files need to be on the classpath.)
You might get away with compiling them if they're not under the right directory structure, but they should be, or it will generate warnings at least. The generated class files will be in the right subdirectories (wherever you've specified -d
if you have).
You should use something like javac -sourcepath .:/usr/share/stuff test.java
, assuming you've put the .java
files that were under /usr/share/stuff
under /usr/share/stuff/org/name
(or whatever is appropriate according to their package names).
Upvotes: 34
Reputation: 134
If you have 2020 version, that you've most likely got a bug, like the one I got. Tried multiple things, but what helped me is a very simple thing. Settings -> Build, Execution, Deployment -> Build Tools -> Maven. Put a checkmark for Override of Local Repository, but leave the default value. Apply, OK. You can get an error, that's ok. Just press "Reload all Maven Projects" button (two rounded arrows, looks like regular Refresh button) in Maven tab on the right of the screen. Maybe clean and install. Should work after that.
Upvotes: 0
Reputation: 525
Just reimport didn't work. Following worked for me.
File -> Invalidate Caches /Restart
Then
Build -> Rebuild Project
That will reimport maven project.
Upvotes: 40
Reputation: 1
You should add the following lines in your gradle build file (build.gradle)
dependencies {
compile files('/usr/share/stuff')
..
}
Upvotes: 0
Reputation: 4117
If you are facing this issue while using Kotlin and have
kotlin.incremental=true
kapt.incremental.apt=true
in the gradle.properties, then you need to remove this temporarily to fix the build.
After the successful build, you can again add these properties to speed up the build time while using Kotlin.
Upvotes: 0
Reputation: 39
Right click your maven project in bottom of the drop down list Maven >> reimport
it works for me for the missing dependancyies
Upvotes: 2
Reputation: 510
I had the exact same problem when manually compiling through the command line, my solution was I didn't include the -sourcepath directory so that way all the subdirectory java files would be compiled too!
Upvotes: 2
Reputation: 10117
I was having this problem, while trying to use a theme packaged as .jar
in my app, it was working while debugging the app, but it didn't when building/exporting the app.
I solved it by unzipping the jar
, and manually add its contents to my build folder, resulting in this:
project/
│
├── build
│ └── classes
│ ├── pt
│ │ └── myAppName ...
│ └── com
│ └── themeName ...
├── src
└── lib
I don't have the error anymore and my app loads with the intended theme.
Upvotes: 4
Reputation: 16246
You need to have org/name
dirs at /usr/share/stuff
and place your org.name
package sources at this dir.
Upvotes: 2