2016-07-27 5 views
0

私はJavaの初心者です。クラスパスの指定に関するすべての文書を読んだ。しかし、私はまだ私の場合について混乱しています。私は、私はクラスを使用する方法のソースがここhttps://github.com/semanticvectors/semanticvectors/wiki/InstallationInstructions#to-build-and-search-a-modelコマンドラインでJavaのクラスパスを正しく使用してください。

であるセマンティックパッケージの一部であるBuildIndexコマンドを使用しようと、特にこの例で、

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

ここで

よクラスパスを次のように指定しようとしています:

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では、classpathは、コンパイルされたjavaクラスファイルが置かれているディレクトリまたはjarファイルを指すパスです。

プロジェクトでは、クラスpitt.search.semanticvectors.BuildIndexは、jarファイルC:\Users\{yourusername}\Downloads\semanticvectors-5.8.jarにあります。したがって、クラスパスはC:\Users\{yourusername}\Downloads\semanticvectors-5.8.jarです。

は、私はあなたがcp-代わりの-cpを入力ミスだと思う

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

のようなものを試してみてください。クラスパスを使用する方法の詳細については

、私は瓶を使用して代わりに-cpたJava SE Documentation

+0

を参照してください,,私は、jarファイルは、それが道で,,, jarファイルのパスの横に使用されるべきものであると思いましたこの場合、ディレクトリはここにありますか? – Lelo

+0

Javaクラス(あなたの場合はpitt.search.semanticvectors.BuildIndex)を実行するには、Javaがそのクラスがどこにあるかを知る必要があります。グローバルクラスパスにない場合は、コマンドラインパラメータ( '-cp')でクラスパスを指定する必要があります。 通常、コンパイルされたコードはjarファイル(基本的にはzipファイル)にまとめられています。しかし、コンパイルされたコードがjarファイルにパックされていない場合、それは特定のディレクトリにあります(プロジェクト内のディレクトリ 'bin'を見て、EclipseはコンパイルされたすべてのJavaコードをそこに置きます) – anhquan

関連する問題