java命令行编译

java命令行编译,java,classpath,Java,Classpath,我有一个简单的单文件java程序,它依赖于一个静态jar。java代码和jar位于同一目录中。对于这个一次性解决方案,我不想增加ant或maven的权重,只想直接编译它 在my dev box上,以下代码可以很好地编译和运行我的代码: javac -cp ".;dependency.jar" File.java java -cp ".;dependency.jar" File 但是,在我的测试盒上,java命令失败,我得到以下输出: Error: Could not find or load

我有一个简单的单文件java程序,它依赖于一个静态jar。java代码和jar位于同一目录中。对于这个一次性解决方案,我不想增加ant或maven的权重,只想直接编译它

在my dev box上,以下代码可以很好地编译和运行我的代码:

javac -cp ".;dependency.jar" File.java
java -cp ".;dependency.jar" File
但是,在我的测试盒上,
java
命令失败,我得到以下输出:

Error: Could not find or load main class File
Exception in thread "main" java.lang.ClassNotFoundException: dependency
如果我将classpath arg更改为
-cp”“
,我将得到以下输出:

Error: Could not find or load main class File
Exception in thread "main" java.lang.ClassNotFoundException: dependency
我的开发设备是64位Windows/Cygwin和java版本
1.7.0\u 55
。我的测试箱是64位Linux和java版本
1.7.0_45


我的测试框出了什么问题?

Linux(和Unix)上的类路径分隔符字符与Windows上的不同。它是
,但在Linux(和Unix)上是

在Linux上尝试以下操作:

javac -cp ".:dependency.jar" File.java
java -cp ".:dependency.jar" File