我在做项目时遇到了一个问题。
我需要在C ++程序中调用Java程序, 它在linux中; 并且Java程序有一个包,所以我必须为它设置Classpath。
问题是,我不能像这样运行java程序:
java -classpath Server/main/java/ Sever
但我可以这样做:
export CLASSPATH=$CLASSPATH:Server/main/java
java Sever
然而,奇怪的是,如果我尝试在其他目录中调用java程序,即使导出CLASSPATH也行不通。 (我已经更改了CLASSPATH以使其与当前目录匹配)
我不知道为什么。 我必须在C程序中进行系统调用,因此导出Classpath将无法工作,(我不知道为什么)。
答案 0 :(得分:0)
您正在设置进入CLASSPATH的相对路径,该路径的解释方式不同,具体取决于您启动程序的位置。请改用完全限定的路径。