Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java类路径搜索问题:直接设置与使用环境变量_Java_Classpath_Javac_Scalar - Fatal编程技术网

Java类路径搜索问题:直接设置与使用环境变量

Java类路径搜索问题:直接设置与使用环境变量,java,classpath,javac,scalar,Java,Classpath,Javac,Scalar,我有一个从Java调用的Scala库 这是scala代码 package org.fun object ScalaPower{ def showMyPower(time:Int) = { (0 to time-1).mkString(", ") } } 这是Java代码 import org.fun.*; public class Test { public static void main(String args[]) { System.out.pr

我有一个从Java调用的Scala库

这是scala代码

package org.fun

object ScalaPower{
  def showMyPower(time:Int) = {
    (0 to time-1).mkString(", ")
  }
}
这是Java代码

import org.fun.*;

public class Test {
    public static void main(String args[]) {
       System.out.println("show my power: " + ScalaPower.showMyPower(3));       
    }
}
使用此生成脚本:

SCALA_LIB=~/bin/jar/scala/scala-library.jar

scalac -d ~/temp/java s.scala
javac -cp .:~/temp/java:$SCALA_LIB Test.java -d ~/temp/java
java -cp .:~/temp/java:$SCALA_LIB Test
我有错误

Test.java:1: error: package org.fun does not exist
import org.fun.*;
^
Test.java:5: error: cannot find symbol
       System.out.println("show my power: " + ScalaPower.showMyPower(3));       
                                              ^
  symbol:   variable ScalaPower
  location: class Test
2 errors
有趣的是,当我从环境变量获取类路径时,我没有问题

SCALA_LIB=~/jar/scala/scala-library.jar
JP=.:~/temp/java:~/temp/java2:$SCALA_LIB

scalac -d ~/temp/java s.scala
scalac -d ~/temp/java2 s2.scala
javac -cp $JP Test.java -d ~/temp/java
java -cp $JP Test
SCALA_LIB=~/jar/scala/scala-library.jar
JP=.:~/temp/java:~/temp/java2:$SCALA_LIB

scalac -d ~/temp/java s.scala
scalac -d ~/temp/java2 s2.scala
javac -cp $JP Test.java -d ~/temp/java
java -cp $JP Test
为什么会这样?我是否有始终将环境变量用于设置类路径和
-cp
?还是我犯了一些错误?我检查了MacOSX和Linux;它们都使用$JP,但不使用直接路径登记


代码是从这篇文章中复制的:

我应该使用环境变量作为-cp的参数。 我检查了MacOSX和Linux;它们都使用$JP,但不使用直接路径登记