Roo*_*kie 7 java import javac package
我有一个主目录(包含main.java)和一个子目录(包含child.java).
我的问题是如何在main.java中实例化child.java
package mypackage
child.class
用javac -d . child.java
它创建一个新的mypackage目录.import subdirectory.mypackage.*
注意-d选项将child.class放在mypackage文件夹中)我收到以下错误:
mainAESE.java:9: cannot access subdirectory.child
bad class file: RegularFileObject[./subdirectory/child
class file contains wrong class: mypackage.child
Please remove or make sure it appears in the correct subdirectory of the class
child childInstance= new child();
^
1 error
Run Code Online (Sandbox Code Playgroud)
请帮我!!
确保包文件夹mypackage
和Main.class
父文件夹共享。
package mypackage;
public class Child {}
Run Code Online (Sandbox Code Playgroud)
我认为Main
该类是在package.json 中创建的default
。
public class Main {
public static void main(String []args){
mypackage.Child child=new mypackage.Child();
}
}
Run Code Online (Sandbox Code Playgroud)
你的目录结构应该是:
main-directory/
|
|----/mypackage/
Child.class
|
| Main.class
| Main.java
| Child.java
Run Code Online (Sandbox Code Playgroud)
并启动/加载Main
以下命令的问题,
主程序
你需要做两件事。
将当前导入替换为import mypackage.child
导入需要反映您要导入的类的完全限定名称。它与计算机上类文件的位置无关。您还可以import mypackage.*
从包中导入所有类,mypackage
而不是单独指定您想要的类......这只是一种编码风格选择。
添加subdirectory
到您的类路径
另一方面,类路径确实与计算机上类文件的位置有关。顾名思义,它列出了 JVM 应查找程序使用的类的所有位置的路径。或者,正如 Oracle 所说,“类路径告诉 JDK 工具和应用程序在哪里可以找到第三方和用户定义的类。” 您不需要告诉 Java 在哪里可以找到它附带的特殊类(例如String
)。
#2 的说明取决于您运行程序的方式(从命令行或 Eclipse 或其他方式)。由于您使用的是命令行(根据您的评论),因此您需要使用该-classpath
标志或其简写形式-cp
,如下所示:java -cp ./subdirectory main
归档时间: |
|
查看次数: |
66297 次 |
最近记录: |