【发布时间】:2014-01-05 09:11:58
【问题描述】:
当我有一个与目录结构不匹配的包声明时,Eclipse 会向我显示一个错误,例如“声明的包“包名”与预期的包“目录路径”不匹配。这很好。但是不是我项目中的每个人都使用 Eclipse。
有没有办法在构建过程中使用 javac 进行检查?
【问题讨论】:
标签: java eclipse build package javac
当我有一个与目录结构不匹配的包声明时,Eclipse 会向我显示一个错误,例如“声明的包“包名”与预期的包“目录路径”不匹配。这很好。但是不是我项目中的每个人都使用 Eclipse。
有没有办法在构建过程中使用 javac 进行检查?
【问题讨论】:
标签: java eclipse build package javac
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;
^
希望有帮助!
【讨论】: