Java StandardAnalyzer不存在

Java StandardAnalyzer不存在,java,lucene,classpath,Java,Lucene,Classpath,基于此,我尝试创建自己的基本Lucene搜索应用程序。你也可以直接使用,这与我的问题无关 因此,我的文件B.java以以下内容开头: import org.apache.lucene.analysis.standard.StandardAnalyzer; 尽管我在javac中提供了类路径 javac -cp ~/lucene-4.10.2/core/lucene-core-4.10.2.jar :~/lucene-4.10.2/analysis/common/lucene-a

基于此,我尝试创建自己的基本Lucene搜索应用程序。你也可以直接使用,这与我的问题无关

因此,我的文件
B.java
以以下内容开头:

import org.apache.lucene.analysis.standard.StandardAnalyzer;
尽管我在
javac
中提供了类路径

javac -cp ~/lucene-4.10.2/core/lucene-core-4.10.2.jar
         :~/lucene-4.10.2/analysis/common/lucene-analyzers-common-4.10.2.jar
         B.java
我会遇到如下错误:

B.java:1: error: package org.apache.lucene.analysis.standard does not exist

我使用复数,因为这也适用于
.class
位于给定JAR中的其他包(使用
解压-l
进行检查)。我想如果我能找到这个问题的解决方案,它也应该适用于其他情况。。。我遗漏了什么?

好的,我似乎已经找到了答案

出于某种原因,当包含扩展到my
$HOME
目录的
~
时,这会使
javac
无法找到正确的路径:

javac -cp ~/lucene-4.10.2/core/lucene-core-4.10.2.jar
         :~/lucene-4.10.2/analysis/common/lucene-analyzers-common-4.10.2.jar
      B.java
我做了一个指向目录的软链接:

$ ln -s ~/lucene-4.10.2/ lucenepath
然后使用符号链接,它工作了:

javac -cp lucenepath/core/lucene-core-4.10.2.jar
         :lucenepath/analysis/common/lucene-analyzers-common-4.10.2.jar
      B.java
不知道为什么会这样