Eclipse: The declared package does not match the e

2019-02-03 20:55发布

I have a problem importing an external project. I go File -> Import... -> Existing Projects into Workspace, choose the folder where the project is located and everything is imported - but the package names of the project don't seem to be what Eclipse expects. The package names all have a prefix:

prefix.packagename1
prefix.packagename2

etc.

But Eclipse expects

src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2

etc. because the directory is src/prefix1/prefix/package1

I don't really want to mess around with external code. How do I tell Eclipse to ignore the directory "src/prefix1"? Or what else can I do?

11条回答
一纸荒年 Trace。
2楼-- · 2019-02-03 21:25

Happens for me after failed builds run outside of the IDE. If cleaning your workspace doesn't work, try: 1) Delete all projects 2) Close and restart STS/eclipse, 3) Re-import the projects

查看更多
手持菜刀,她持情操
3楼-- · 2019-02-03 21:28

I happened to have the same problem just now. However, the first few answers don't work for me.I propose a solution:change the .classpath file.For example,you can define the classpathentry node's path like this: path="src/prefix1/java" or path="src/prefix1/resources". Hope it can help.

查看更多
趁早两清
4楼-- · 2019-02-03 21:30

Suppose your project has a package like package name1.name2.name3.name4 (declared package)

Your package explorer shows
package top level named name1.name2
sub packages named name3.name4

You will have errors because Eclipse extracts the package name from the file directory structure on disk starting at the point you import from.

My case was a bit more involved, perhaps because I was using a symbolic link to a folder outside my workspace.

I first tried Build Path.Java Build Path.Source Tab.Link Source Button.Browse to the folder before name1 in your package.Folder-name as you like (i think). But had issues.

Then I removed the folder from the build path and tried File > Import... > General > File System > click Next > From Directory > Browse... to folder above name1 > click Advanced button > check Create links in workspace > click Finish button.

查看更多
老娘就宠你
5楼-- · 2019-02-03 21:32
  1. Right click on the external folder which is having package
src.prefix1.prefix.packagename1 
src.prefix1.prefix.packagename2
  1. Click Build path --> Remove from build path.

  2. Now go the folder prefix1 in the folder section of your project.

  3. Right click on it --> Build path --> Use as source folder.

  4. Done. The package folder wont show any error now. If it still shows, just restart the project.

查看更多
ら.Afraid
6楼-- · 2019-02-03 21:35

Move your problem *.java files to other folder.

Click 'src' item and press "F5".

Red crosses will dissaperar.

Return your *.java files to "package path", click 'src' item and press "F5".

All should be ok.

查看更多
Fickle 薄情
7楼-- · 2019-02-03 21:38

Go to src folder of the project and copy all the code from it to some temporary location and build the project. And now copy the actual code from temporary location to project src. And run the build again. Problem will be resolved.

Note: This is specific to eclipse.

查看更多
登录 后发表回答