包的 javac 编译问题



给定这个(game.Game.javagame.Player.javagame.io.InputConsole.java):

src  
|_game  
  Game.java  
  Player.java
  |_io
    InputConsole.java  

我一直在尝试使用 javac 在控制台上编译这个项目(尝试在 SO 和互联网上找到的各种解决方案),但我一直失败。我也尝试使用批处理文件,但无论哪种情况,我得到的都是"找不到符号"错误。
由于几乎所有相关问题的答案都建议使用 Ant 或 Maven 等构建工具,因此我决定尝试一下 Ant(第一次)。这是我的 Ant 文件的样子:

<project default="run" name="Tic_Tac_Toe">
    <target name="run" depends="compile">
        <java classname="game.Main">
            <classpath path="bin" />
        </java>
    </target>
    <target name="compile">
        <javac srcdir="." destdir="bin"/>
    </target>
</project>

以下是输出的摘录:

C:Users...srcgameioInputConsole.java:10: error: cannot find symbol
  public Player getPlayer(Sign sign) {
symbol: class Player
location: class InputConsole

PS:当我InputConsole.java移动到game包中时,它可以工作。所以我确信类本身很好。我认为问题要么是我未能为编译器提供正确的路径,要么是我的包结构错误。

您需要同时导入两者。包之间没有等级,尽管外观game.io不是游戏的"子包",因为没有子包这样的东西。

对于package game;的课程,您需要import game.io.InputConsole;.在包game.io;中,您需要import game.*; .

请注意,*只是方便,最好单独导入每个引用的类。

相关内容

  • 没有找到相关文章

最新更新