【问题标题】:enforce package declaration check in javac在 javac 中强制执行包声明检查
【发布时间】:2014-01-05 09:11:58
【问题描述】:

当我有一个与目录结构不匹配的包声明时,Eclipse 会向我显示一个错误,例如“声明的包“包名”与预期的包“目录路径”不匹配。这很好。但是不是我项目中的每个人都使用 Eclipse。

有没有办法在构建过程中使用 javac 进行检查?

【问题讨论】:

    标签: java eclipse build package javac


    【解决方案1】:

    Eclipse 根据源文件所在的目录层次结构验证包名称。

    但是,在我看来,javac 没有任何此类功能可用。您将不得不求助于罪魁祸首类将抛出的基本错误:

    /* ClassA with package statement */
    package com.example;
    
    public class ClassA {
    
    }
    

    现在,如果你在同一个包中放置另一个使用的类,并且你没有在其中写包语句:

    /* ClassB without package statement */
    import com.example.ClassA;
    
    public class ClassB {
    
    }
    

    您将在编译日志中收到以下错误,指出罪魁祸首类:

    $ javac -d . ClassA.java
    $ javac -d . ClassB.java
    ClassB.java:1: package com.example does not exist
    import com.example.Circle;
                      ^
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-25
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 2019-01-06
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多