java - 如何使用-cp在Unix上编译Java

标签 java compiler-errors compilation

我有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/

相关文章:

java - 无法将资源作为流读取

java - "Tag start is not closed"在 XML 元素的开始和结束标记内注释时

c - GCC 格式字符串错误在两个 'format specifies ... but the argument has type ...' 值之间振荡,不喜欢任何一个

c++ - 如何在 Visual Code Editor 中为 C++ 项目准备/配置开发环境?

python - vim 使用错误的 python 版本编译(并且不使用所需的版本)

java - "java decompiler"JD-Core 0.6.0/JD-GUI 0.3.3反编译代码含义

Java 打印杂散字符而不是实际字符

c# - XAML 无法编译,但没有任何错误消息,如果用户定义的对象是第一个资源并紧跟 x :Array resource

java - 编译servlet时出错

Java "new String[-1]"通过编译。怎么来的?