我是Scala的新手,事实上,我对Java也很无知(我对我的Java知识不感兴趣)。问题是,我使用的是Java API,它只适用于Java ( Freeling )。
现在,我创建了一个java类调用分析器,它只使用一个静态的公共方法调用分析,它接受一个单词字符串(一个句子的所有部分),并返回一个字符串的java.util.ArrayList,其中每个字符串都有这个句子中每个单词的单词、引理和标记(使用freeling)。
现在,我知道您可以在scala应用程序中无缝地使用java类。我声明了这个包(命名为分析器),并将"Analyzer.java“编译成"Analyzer.class”。我的想法是将这个类"Analyzer“加载到scala中(另一次加载到scala源文件中),并从scala中使用它来查看它是否有效。
我的意思是,我想在Scala中这样做:
scala> import analyzer.Analyzer
scala> val result: java.util.ArrayList[String] = Analyzer.analyze("The cat eats fish")
scala> println(result.get(0))
The the DT问题是,当我试图导入包时,它会给我一个错误:
scala> import analyzer.Analyzer
<console>:7: error: not found: value analyzer
import analyzer.Analyzer即使我用-classpath选项启动scala,指向Analyzer.class所在的目录。
这个是可能的吗?我怎么发动汽车呢?
发布于 2014-02-20 23:32:07
import只使名称空间的内容可用,而不需要将其限定为包。为了让编译器找到您的包,它必须在类路径上。如果将Java类打包到.jar文件中,则可以使用特殊的:cp path-to-jar命令动态地将该文件添加到REPL。或者,在启动Scala (-cp my-path)时,可以将Java类的目录放在类路径上。
由于您编写时使用了-classpath选项,所以您可能使用了错误的路径。如果您的analyzer类位于包analyzer中,则必须将路径添加到包含目录analyzer的位置。
https://stackoverflow.com/questions/21921840
复制相似问题