文件目录如下,project下有个src和classes目录,src里面有com/example/model/1.java com/example/web/2.java 。 现在,2.java要用1.java, 所以就import com.example.model.* 1.java编译好的.class文件放在了src/classes/com/example/model/1.class。
先cd project
然后 javac -d classes src/com/example/web/2.java 竟然报错,说找不到包com.example/model 。在网上查,说环境变量里面classpath= .; 表示在当前路径开始搜索,当前路径是project, 搜索不到。 可以把1.class的路径放到环境变量里面。但是每次编译不能都改环境变量啊。 又有种方法,-classpath(或者-cp)作用相当于指定了当前的环境变量。于是 javac -cp classes -d classes src/com/example/web/2.java 就成功了。 其实,2.java还需要调用一个外部的jar文件,所以需要两个classpath。用分号隔开就好了。 javac -cp lib/1.jar;classes -d classes src/com/example/web/2.java