Java 在使用sbt构建scala项目时,在类路径上包含非托管JAR
我正试图建立一个老项目 该项目依赖于Java 在使用sbt构建scala项目时,在类路径上包含非托管JAR,java,scala,apache-spark,sbt,sbt-assembly,Java,Scala,Apache Spark,Sbt,Sbt Assembly,我正试图建立一个老项目 该项目依赖于sparrow-1.0.jar中的java包 我将jar复制到lib_managed/jars和lib目录,但是在编译时仍然会出现缺少类路径的错误 project/SparkBuild.sbt包含对lib目录的引用 unmanagedJars in Compile <<= baseDirectory map { base => (base / "lib" ** "*.jar").classpath }, 但是,当我编译时,仍然会出现相同的错
sparrow-1.0.jar中的java包
我将jar复制到lib_managed/jars
和lib
目录,但是在编译时仍然会出现缺少类路径的错误
project/SparkBuild.sbt
包含对lib
目录的引用
unmanagedJars in Compile <<= baseDirectory map { base => (base / "lib" ** "*.jar").classpath },
但是,当我编译时,仍然会出现相同的错误:
root@26eefef538b1:/sparrow/spark-sparrow# sbt/sbt package assembly
[info] Loading project definition from /sparrow/spark-sparrow/project/project
[info] Loading project definition from /sparrow/spark-sparrow/project
[info] Set current project to root (in build file:/sparrow/spark-sparrow/)
[info] Compiling 260 Scala sources and 16 Java sources to /sparrow/spark-sparrow/core/target/scala-2.9.3/classes...
[error] /sparrow/spark-sparrow/core/src/main/scala/spark/scheduler/sparrow/SparrowScheduler.scala:28: not found: object edu
[error] import edu.berkeley.sparrow.thrift.FrontendService
[error] ^
在将addclasspath从jar导入到项目中时,是否缺少命令行选项或其他配置
该项目是根据scala 2.9.3使用sbt 0.12.3编译的
我注意到我可以在类路径上使用jar运行scala并导入对象
root@26eefef538b1:/sparrow/spark-sparrow# scala -cp $SPARROW_JAR
Welcome to Scala version 2.9.3 (OpenJDK 64-Bit Server VM, Java 1.7.0_201).
Type in expressions to have them evaluated.
Type :help for more information.
scala> import edu.berkeley.sparrow.thrift.FrontendService
import edu.berkeley.sparrow.thrift.FrontendService
scala>
将lib目录和jar添加到子目录。
e、 g./core/lib/sparrow.jar
似乎已经解决了将lib目录和jar添加到子目录的问题。
e、 g./core/lib/sparrow.jar
似乎已经解决了问题非托管库的目录是lib
,请尝试使用该目录或更改SBT中的文件夹。有关更多信息,请参阅。谢谢,我也尝试过将jar放在与项目根目录相同的目录中。两者都不起作用。您使用的是什么版本的sbt?您是否尝试过注释非托管DJAR
行?如果jar位于lib
中,则不需要指定它。我在注释非托管jar
行时也会遇到相同的错误scala 2.9.2
和sbt 0.12.3
非托管库的目录是lib
,请尝试使用该目录或更改sbt中的文件夹。有关更多信息,请参阅。谢谢,我也尝试过将jar放在与项目根目录相同的目录中。两者都不起作用。您使用的是什么版本的sbt?您是否尝试过注释非托管DJAR
行?如果jar位于lib
中,则不需要指定它。我在注释非托管jar
行时也会遇到相同的错误<代码>scala 2.9.2
和sbt 0.12.3
root@26eefef538b1:/sparrow/spark-sparrow# scala -cp $SPARROW_JAR
Welcome to Scala version 2.9.3 (OpenJDK 64-Bit Server VM, Java 1.7.0_201).
Type in expressions to have them evaluated.
Type :help for more information.
scala> import edu.berkeley.sparrow.thrift.FrontendService
import edu.berkeley.sparrow.thrift.FrontendService
scala>