Linux相当于在编译期间包含类路径

时间:2017-03-16 18:52:29

标签: java

我遵循的指南仅包含Windows上的编译说明。如何在Linux上运行此build.bat文件?

批处理文件如下所示:

@echo off
@echo Compiling...
javac -classpath ..\..\lib\OneWireAPI.jar;%classpath% -d . .\src\*.java

当我在Linux上运行javac命令时,它失败了:

javac -classpath ../../lib/OneWireAPI.jar;%classpath% -d . ./src/ReadTemp.java

输出结果为:

javac: no source files

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

在Linux上,您必须使用:(冒号)代替;(分号)作为Java选项中的路径分隔符。

此外,如果您有一个classpath变量,在大多数常见的Linux shell中,它由$classpath而不是%classpath%引用

javac -classpath ../../lib/OneWireAPI.jar:$classpath -d . ./src/ReadTemp.java

答案 1 :(得分:1)

您有两个项目无法从Windows CMD正确转换为Unix:

  • 路径分隔符;应为:
  • 环境变量应从%classpath%更改为$CLASSPATH格式。请注意,Linux中几乎所有内容都区分大小写,包括环境变量名称,而Java路径传统上都是全部大写。

尝试

javac -classpath ../../lib/OneWireAPI.jar:$CLASSPATH -d . ./src/ReadTemp.java