我有3个类CustomerAddress,Customer和CustomerMain。
客户有进口声明:
import org.abc.customers.CustomerAddress;
虽然CustomerMain有一个import语句:
import org.abc.customers.CustomerAddress;
import org.abc.customers.Customer;
所有这些类的包都是
package org.abc.customer
现在,这个程序在eclipse上运行正常,但是当我尝试编译并运行cmd提示符时,它将无法编译
javac CustomerAddress.java
编译好
然后由于Customer依赖于CustomerAddress
我给
javac -cp . Customer.java
但编译器抱怨
error cannot find symbol CustomerAddress
答案 0 :(得分:4)
com.foo.bar.A
必须存在于文件夹com/foo/bar/
中。如果您决定从命令行构建,则需要首先编译独立类:
javac -d com/abc/customers/ CustomerAddress.java Customer.java CustomerMain.java
哪个应该编译类并将它们输出到javac能够解决它们的地方。
答案 1 :(得分:1)
我知道这不是你要问的,但我可以建议使用eclipse的内置导出吗?
右键点击项目 - > 出口 - > Runnable jar文件 - > 确保你有正确的启动配置 - > 选择其余的 - > 点击完成 - > 用你的罐子
答案 2 :(得分:1)
您是否通过编译尝试过这种方式
javac *.java
答案 3 :(得分:0)
我不知道它是否是发布问题的工件,但您的包声明中customer
没有's',而您的导入语句包含customers
一个's'。但是,在同一个包中,您不需要执行import
。