2011-10-12 36 views
-1

Lucene 3.4.0、hibernate(hibernate-all.jar)、ANT、TestNGを使用して、いくつかのテストを実行しています... ほとんどすべてのもののほとんどは今でも動作していますが、アリコマンドを使うと何もうまくいかないようです...私はここで紛失しています。Lucene:シンボルを見つけることができません

すべてが完全にローカルで動作するためです。私はテストを実行し、コンパイルなどを行うことができます。私はアリと一緒にビルドしようとします。コンストラクタStandartAnalyzer(バージョン)などのために、このエラー "シンボルを見つけることができません"を得ます。

しかし、すべてがeclipseで動作します...最初は、エラーが見つかりませんでしたが、hibernateが最新バージョンのluceneと互換性がないため、修正されました。だから、私は冬眠をアップグレード...しかし、今、私はこれを取得します。

ありがとうございます。より多くの情報が必要な場合plzお願いします。

$ ant explode 
Buildfile: c:\DuplicateBugFinder\dbf\build.xml 

init: 

groovy.compile: 

groovy.copy: 

compile: 
    [javac] c:\DuplicateBugFinder\dbf\build.xml:156: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=l 
st; set to false for repeatable builds 
    [javac] Compiling 27 source files to c:\DuplicateBugFinder\dbf\exploded-archives\dbf.ear\dbf_jar 
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java: 
6: cannot find symbol 
    [javac] symbol : constructor StandardAnalyzer(org.apache.lucene.util.Version) 
    [javac] location: class org.apache.lucene.analysis.standard.StandardAnalyzer 
    [javac]  Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_34); 
    [javac]      ^
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java: 
2: cannot find symbol 
    [javac] symbol : constructor QueryParser(org.apache.lucene.util.Version,java.lang.String,org.apache.lucene.analysis.Analyzer 

    [javac] location: class org.apache.lucene.queryParser.QueryParser 
    [javac]    new QueryParser(Version.LUCENE_34, "title", analyzer) 
    [javac]   ^
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java: 
9: cannot find symbol 
    [javac] symbol : constructor IndexSearcher(org.apache.lucene.store.Directory,boolean) 
    [javac] location: class org.apache.lucene.search.IndexSearcher 
    [javac]  searcher = new IndexSearcher(index, true); 
    [javac]    ^
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java: 
00: cannot find symbol 
    [javac] symbol : method search(org.apache.lucene.search.Query,org.apache.lucene.search.TopScoreDocCollector) 
    [javac] location: class org.apache.lucene.search.IndexSearcher 
    [javac]  searcher.search(q, collector); 
    [javac]    ^
    [javac] 4 errors 

BUILD FAILED 
c:\DuplicateBugFinder\dbf\build.xml:156: Compile failed; see the compiler error output for details. 

答えて

0

これを修正しました。 lib/testにjarファイルを追加する必要がありました(シームフレームワークを使用しています)。私がTestNGの実行コンフィギュレーションでjarファイルを指していたため、eclipseではすべてが機能していました。私がコマンド "ant test"を実行していたときに、jarファイルが見つかりませんでした...

皆に感謝します。

さらに、luceneとseamを使用したいと思うあなたのために、バージョンにも互換性がないことを確認してください。私は長い間この問題を抱えていました。最後に、シーム2.2で作業するために古いバージョンのlucene(2.4.1)を使用しなければならないことが分かりました。私はまだルーネン3.4とシーム3をチェックしていませんでした...

1

EclipseとAntのそれぞれで使用されるクラスパターンの違いです。どのようなjarファイルがEclipse内で使用されているか(プロジェクトにどのライブラリが追加されているか)、そしてそれを使ってビルドするときに宣言されたAntクラスパスで使用するjarファイルを確認してください。また、EclipseとAntで同じJDKを使用していることを確認してください。どちらか一方が異なる場合は、AntのものをEclipseのように変更してください(それは動作する環境なので)

1

Luceneライブラリの複数のバージョンのantクラスパスを確認してください。 ant環境を確認するにはant -diagnosticsを実行してください。

関連する問題