今天导入以前用过的项目后,所有的src目录下的java文件全部报错(The declared package does not match the expected package)。
在网上找了好久终于找到了解决方法(http://stackoverflow.com/questions/6997524/the-declared-package-does-not-match-the-expected-package):
Most likely what's wrong is that your project properties point to the wrong place in order for the classpath to work.
In order for Eclipse to separate your projects, you need a directory that contains the project. Then you should have a directory for source and output (although it'll work without it - it's very ugly that way though). Finally, your directories corresponding to your packages should be inside your source folder.
Suppose I'm writing "Bas.java" and it's inside the foo.bar package:
Source might look like this
<common dir>/basproject/src/java/foo/bar/Bas.java
Compiled code might look like this
<common dir>/basproject/bin/classes/foo/bar/Bas.class
Explanation:
<common dir> is the base directory where Eclipse looks for all java projects.
/basproject is where everything associated with the Bas project goes.
/src/java is a place to organize the Java source. I usually like "src/java" because then I have a natural place to put non-java stuff ("src/?") or unit tests ("src/tests").
/foo/bar obviously cooresponds to your package.
I think you get the picture...
Now then, having done that, I next have to set Eclipse up such that the package structure is used correctly.
* Right-click the project name in Eclipse and select Properties.
* Select "Java Build Path" in the left side of the pop-up window.
* Select the "Source" tab in the right side of the pop-up window.
* For my mythical example, I'd want to set the input to "basproject/src/java". Unfortunately it's not possible to edit the input folder shown. Your best bet is to create a new entry without removing the old one so you have a pattern.
* For my mythical example, I'd set the output to "basproject/bin/classes".
* For now, set "Included" to "All" and "Excluded" to none. Later you can use those to fine-tune unit tests and the like.
* Finally, once the structure looks the way you want, delete any entries that don't work.
That should do it.
解决方法:
1、选中项目右击选择Build Path-->再选择Configure Build Path;
2、选择“Source”标签,把“eheal”改为“eheal/src”,ok。
分享到:
相关推荐
The declared package does not match the expected package appendixaStringer.java Thinking in Java/appendixaline 12022 年 11 月 11 日 14:11:20 3870 可以添加 package appendixa 命令来解决。 在运行程序时...
- **包声明不匹配**:如果出现类似`The declared package does not match the expected package appendixa Stringer.java Thinking in Java/appendix`这样的错误,说明源代码中的包结构与实际存放位置不符。...
Spring Boot Shiro Demo项目是一个基于Spring Boot框架与Apache Shiro实现的权限管理示例,旨在帮助开发者快速理解和应用Shiro进行权限控制。相比Spring Security,Shiro通常被认为更易于理解和使用,更适合小型到...
5. **package**:执行Default生命周期中的`package`阶段,调用`maven-jar-plugin`的`jar`目标来打包项目。 6. **install**:执行Default生命周期中的`install`阶段,将构建好的包安装到本地仓库。 通过这种方式,...
在Code::Blocks中遇到“'to_string' was not declared in this scope”的错误,通常是由于编译器版本过低或者没有包含正确的头文件所导致的。`std::to_string`是C++11标准引入的一个函数,用于将数字转换为字符串。...
The book does not assume prior knowledge of Go nor experience with any specific language, so you'll find it accessible whether you're most comfortable with JavaScript, Ruby, Python, Java, or C++. ...
The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++. ...
The vision is “To produce the best UNIX-like operating system package possible, with due respect to the original software tools ideology as well as usability, performance and stability.” The ...
_HID does not match the predefined PCI Root Bridge IDs, the _CID list (if present) is now obtained and also checked for an ID match. Implemented additional support for the PCI _ADR execution: up...
variable declared but not used(解决方案).md
* The Shell Extension components does not support C++ Builder 4. For some strange reason the components causes a link error. * There appear to be sporadic problems compiling with C++ Builder 5. ...
Suppose if we have declared an array of type int then the array will take only the int values and not any other data types. We can find find out the length of the variable by using the variable ...
The software contains all files of the installation package except for the "Dump" folder contents. This LICENSE AGREEMENT ("LICENSE") defines what the USER may do with the SOFTWARE, and contains ...
•Q584524 - Ribbon - QAT doesn't display the double arrow if the Ribbon control's PopupMenuItems set does not include items •Q581962 - Ribbon - Switching between maximized MDI child windows using the...
- **Unchecked Exceptions and Threads:** In Java, if an unchecked exception is thrown by a thread, it does not cause the program to terminate immediately but rather propagates up the call stack until ...
- The module is declared as `modulePRBS_CHK(CLK, RESET, DIN, DVAL, LOCK);`. It takes five inputs: `CLK` (Clock signal), `RESET` (Reset signal), `DIN` (Data In), `DVAL` (Data Valid Strobe), and one ...
It is important to know that functions are not always inlined even if they are declared as such; for example, virtual and recursive functions are not normally inlined. Usually recursive functions ...
- **Message Forwarding:** If an object receives a message that does not match any of its methods, the runtime system can forward the message to another object. This process involves a series of steps,...
- **正确答案**:(b) println appends a newline to the end of its output, but print does not - **解析**:`println`方法会在输出结束后自动添加一个换行符,而`print`方法则不会添加换行符。 #### 5. What will...