javaeclipse

The declared package does not match the expected package ""


I am using Eclipse and have not used Java for sometime. However, I can compile my code on the command-line just fine and generate the necessary .class files. In Eclipse, it complains that The declared package "Devices" does not match the expected package "". What does this mean and how can I fix it?

Sample code:

package Devices;

public final class DevFrequency 
{
    public short messageID;
    public double frequency;
    public short converterID;
    public DevFrequency() 
    {
    }
    public DevFrequency(short _messageID,double _frequency,short _converterID)
    {
        messageID = _messageID;
        frequency = _frequency;
        converterID = _converterID;
    }
}

The name of my project is DeviceDDS.


Solution

  • Eclipse expects the declared package to match the directory hierarchy - so it's expecting your Java file to be in a directory called "Devices" under your source root. At the moment it looks like the file is directly in your source root. So create the appropriate directory, and move the file in there.

    Note that conventionally, packages are in lower case and include your organization name in reverse DNS order, e.g.

    com.foo.devices;