2016-07-27 41 views
0

我是Java新手。我已经阅读了关于指定类路径的所有文档。但我仍然对我的情况感到困惑。我试图使用BuildIndex命令是语义包,特别是这个例子中的一部分,在命令行中用Java正确使用类路径

java pitt.search.semanticvectors.BuildIndex -luceneindexpath $INDEX_MADE_ABOVE. 

在这里

的如何使用类的源代码是在这里https://github.com/semanticvectors/semanticvectors/wiki/InstallationInstructions#to-build-and-search-a-model

我m试图指定类路径,如:

java cp- {classpath} pitt.search.semanticvectors.BuildIndex -luceneindexpath $INDEX_MADE_ABOVE. 
in here 

但我不知道什么类路径应该在这里。 。命令行应该有一个类路径,但认为它不应与我的项目相关,它是语义向量包的一部分。我需要克隆吗?从这里https://github.com/semanticvectors/semanticvectors/blob/master/src/main/java/pitt/search/semanticvectors/BuildIndex.java包的源代码..

我的试验中,用我的项目作为图片的路径,但没有奏效。另一个试验是使用-jar jarName ,,得到了同样的错误:Could not find or load main class pitt.search.semanticvectors.BuildIndex。我很感谢这个帮助,因为我很困惑,并且对此很陌生。

回答

0

在Java中,类路径是指向任一目录或在已编译的Java类文件所在的jar文件的路径。

在你的项目中,类pitt.search.semanticvectors.BuildIndex位于jar文件C:\Users\{yourusername}\Downloads\semanticvectors-5.8.jar。因此,类路径是C:\Users\{yourusername}\Downloads\semanticvectors-5.8.jar

尝试像

java -cp C:\Users\{yourusername}\Downloads\semanticvectors-5.8.jar pitt.search.semanticvectors.BuildIndex -luceneindexpath $INDEX_MADE_ABOVE 

我觉得输入错误cp-而不是-cp

有关详细信息如何使用类路径,请参考Java SE Documentation

+0

我是用罐子代替-cp ,,我还以为罐子它应该jar文件路径旁使用,,,顺便说一下,在这种情况下,目录可以在这里? – Lelo

+0

要执行一个Java类(在你的情况pitt.search.semanticvectors.BuildIndex),Java必须知道类的位置。如果它不在全局类路径中,则需要在命令行参数('-cp')中指定类路径。 通常情况下,编译后的代码打包在一个jar文件中(基本上只是一个zip文件)。但是,如果编译后的代码没有打包到jar文件中,它将位于某个目录中(请查看项目中的bin目录,Eclipse会将所有已编译的java代码放在该目录中) – anhquan