声明的包不符合预期的包“ [英] The declared package does not match the expected package ""
问题描述
.class
文件。在Eclipse中,它抱怨声明的包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;
}
}
我的项目名称是 DeviceDDS
。
Eclipse希望声明的包与目录层次结构相匹配 - 所以期待您的Java文件位于源根目录下的Devices目录下。目前看起来文件直接在源代码中。因此,创建相应的目录,并移动文件。
请注意,传统上,程序包是小写的,并且以反向DNS顺序包括您的组织名称,例如
com.foo.devices;
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
.
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;
这篇关于声明的包不符合预期的包“的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!