【问题标题】:Why does my Java class fail to compile when compiled from inside the package directory?为什么我的 Java 类从包目录中编译时编译失败?
【发布时间】:2010-10-27 23:32:39
【问题描述】:

我创建了一个名为“middle”的目录,在其中创建了另一个名为“tier”的目录,在“tier”目录中是 OrderManager.java,它是一个接口,OrderManagerImpl.java 有它的实现。

问题是,当我尝试从包中间层外部编译 OrderManagerImpl.java 时,它会编译,但是当我在包内执行相同操作时,它会出现以下错误:

OrderManagerImpl.java:6:找不到符号 符号:类 OrderManager 公共类 OrderManagerImpl 扩展 java.rmi.server.UnicastRemoteObject 实现 OrderManager{

为什么会这样?

【问题讨论】:

    标签: java packages compilation


    【解决方案1】:

    因为编译器希望在正确的文件夹中找到您的类: ./middle/tier 。当您尝试在包内编译时,编译器会在 ./middle/tier/middle/tier 中搜索您的类

    【讨论】:

    • 我认为编译器会搜索包含当前目录的类路径
    • 是的,所以它会在当前目录中搜索middle.tier.OrderManager,这意味着它会寻找一个名为“middle”的目录以及一个名为“tier”的子目录——全部在下 i> 当前目录。
    猜你喜欢
    • 2013-05-14
    • 2014-04-09
    • 1970-01-01
    • 2015-05-29
    • 2013-05-12
    • 2016-08-12
    • 1970-01-01
    相关资源
    最近更新 更多