我的目录结构如下所示:
folder
????subfolder
????subsubfolder
Run Code Online (Sandbox Code Playgroud)
我有一个Main.java folder并Main.java使用里面的类subsubfolder.我是这样做的:
import subfolder.*;
import subfolder.subsubfolder.*;
Run Code Online (Sandbox Code Playgroud)
但是,当我执行时,我收到了消息 javac Main.java
$ javac -g Main.java
Main.java:23: error: cannot access Node
Node root = new Node();
^
bad class file: ./subfolder/subsubfolder/Node.class
class file contains wrong class: subsubfolder.Node
Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error
Run Code Online (Sandbox Code Playgroud)
我导入类文件的方式有误吗?
它说
package subfolder
包裹声明Node应该说
package subfolder.subsubfolder;
Run Code Online (Sandbox Code Playgroud)
提供一个清晰的例子:
folder/
Your source root (typically called 'src')
folder/Main.java
class Main { ... } (no package declaration)
folder/subfolder
folder/subfolder/subsubfolder/Node.java
package subfolder.subsubfolder;
public class Node { ... }
Run Code Online (Sandbox Code Playgroud)
如果你Main确实生活在一个包裹中(即如果你的情况是这样的话src/folder/Main.java)那么你就不应该这样做
cd src/folder
javac Main.java
Run Code Online (Sandbox Code Playgroud)
你应该做
cd src
javac folder/Main.java
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4061 次 |
| 最近记录: |