javac-cp:找不到符号

javac-cp:找不到符号,java,command-line,Java,Command Line,我有3个类CustomerAddress、Customer和CustomerMain 客户有一份进口声明: import org.abc.customers.CustomerAddress; CustomerMain有一个导入语句: import org.abc.customers.CustomerAddress; import org.abc.customers.Customer; 所有这些类的包都是 package org.abc.customer 现在,这个程序在eclipse上运

我有3个类CustomerAddress、Customer和CustomerMain

客户有一份进口声明:

import org.abc.customers.CustomerAddress;
CustomerMain有一个导入语句:

import org.abc.customers.CustomerAddress; 
import org.abc.customers.Customer;
所有这些类的包都是

package org.abc.customer
现在,这个程序在eclipse上运行得很好,但当我尝试编译并在cmd提示符下运行时,它不会编译

javac CustomerAddress.java 
编撰精良

既然客户依赖于CustomerAddress

我给

javac -cp . Customer.java
但编译器抱怨道

error cannot find symbol CustomerAddress

我知道这不是您要问的,但是我可以建议您使用eclipse的内置导出吗

右键单击项目-> 出口-> 可运行jar文件-> 确保启动配置正确-> 选择其余的-> 单击完成->
使用您的jar我知道这不是您想要的,但是我可以建议您使用eclipse的内置导出吗

右键单击项目-> 出口-> 可运行jar文件-> 确保启动配置正确-> 选择其余的-> 单击完成->
使用您的jar

您是否尝试过以这种方式进行编译

javac *.java

你试过这样编译吗

javac *.java
  • 编译类必须存在于与其包结构匹配的文件夹结构中。例如,类
    com.foo.bar.a
    必须存在于文件夹
    com/foo/bar/
  • 使用像ant或maven这样的自动化构建工具来做这类事情要容易得多
  • 如果决定从命令行生成,则需要首先编译独立类:

    javac -d com/abc/customers/ CustomerAddress.java Customer.java CustomerMain.java
    
    它应该编译类并将它们输出到javac能够解析它们的地方

  • 编译类必须存在于与其包结构匹配的文件夹结构中。例如,类
    com.foo.bar.a
    必须存在于文件夹
    com/foo/bar/
  • 使用像ant或maven这样的自动化构建工具来做这类事情要容易得多
  • 如果决定从命令行生成,则需要首先编译独立类:

    javac -d com/abc/customers/ CustomerAddress.java Customer.java CustomerMain.java
    

    它应该编译类并将它们输出到javac能够解析它们的地方。

    我不知道这是否是发布问题的产物,但是您的包声明有
    customer
    没有“s”,并且您的导入语句有
    customers
    带有“s”。但是,在同一个软件包中,您不需要执行导入操作,我不知道这是否是发布问题的产物,但是您的软件包声明中的
    customer
    没有“s”,并且您的导入语句中的
    customers
    带有“s”。但是,在同一个包中,您不需要进行
    导入

    谢谢..是的,这是发布问题的产物。同一个包中的import语句是多余的,但它是否也有任何副作用,或者对代码无害。我相信只要您的包名拼写正确,它是无害的:-)谢谢..是的,这是发布问题的产物。同一个包中的import语句是多余的,但它是否也有任何副作用,或者对代码无害。我相信只要包名拼写正确,它是无害的:-)