我有3个文件需要编译
第一个a.java可以很好地编译
javac a.java
第二个要求使用2个jar文件以及我编译的文件a.class。我尝试与此编译第二个文件
javac -cp .:firstLib.jar:secondLib.jar b.java
每当b.java文件中出现无法找到符号的a类实例时,我都会收到错误消息
我读过unix的用法:和windows的用法;而且我已经读到我需要将其指向包含文件的目录,这就是为什么我需要该文件的原因。作为列表中的第一个,我传递给-cp。这次尝试找到了两个库,但是找不到我用上一行编译的a.class。
我要编译的第三个文件我什至无法尝试编译,因为它取决于第二个文件
还值得一说的是,这在带有eclipse的Windows pc上可以正常工作,只需将其移至我的unix服务器,这样就不会出现任何编码错误
最佳答案
我找到了解决方法,但仍然不知道为什么我最初的尝试不起作用
首先,我将所有Java文件移动到名为src的文件夹中
第二,我将所有jar文件移动到名为libs的文件夹中
然后我用
javac -c ../classes a.java
注意:我是从src文件夹运行的
然后我用
javac -c ../classes -cp ../classes:../libs/* b.java
和第三个文件
javac -c ../classes -cp ../classes:../libs/* c.java
我希望这可以帮助其他遇到与我一样的问题的人
关于java - 如何使用-cp在Unix上编译Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50779997/