0

このプロジェクトを実行する必要があるため、Java はまったく初めてで、少しだけ学びました: https://github.com/ansjsun/ansj_seg

私は走った

mvn compile

といくつかの他のもの。

さて、ansj_seg/target に ansj_seg-0.8.jar という名前のファイルがあります。これは重要なようですが、使い方はわかりません。

ansj_seg/src/test/java/org/ansj/demo にいくつかデモがあり、BaseAnalysisDemo.java を動かしたいので、以下のようにしてみました。

ステップ 1、次を使用してコンパイルします。

javac -classpath ~/Downloads/ansj_seg/target/ansj_seg-0.8.jar  BaseAnalysisDemo.java

正常に動作し、BaseAnalysisDemo.class を生成します。

しかし、私がそれを実行しようとすると

java BaseAnalysisDemo

エラーが発生します:

Exception in thread "main" java.lang.NoClassDefFoundError: BaseAnalysisDemo (wrong name: org/ansj/demo/BaseAnalysisDemo)

パスを設定する必要があると思いますが、わかりません。

誰でも助けることができますか?

ところで、私はEclipseよりもコマンドラインを使用する方が好きです。

ディレクトリ構造は次のようになります(更新):

\ansj_seg
    pom.xml
    \src
        \main
            \java
                \org
                    \ansj
                        \app
                        \dic
                        \domain
                        ...
            \resource
                ...
        \test
            \java
                \org
                    \ansj
                        \demo
                            BaseAnalysisDemo.java
                            Demo.java
                            ...
                        \test
                            ...

別の質問ですが、デモを実行できたとしても、この Java ライブラリを別の場所で使用するにはどうすればよいですか? ファイル ansj_set-0.8.jar を使用する必要があると思います。繰り返しますが、私は Java について何も知りません。どんな提案も非常に役に立ちます。


更新しました:

クラスパスを指定して実行した場合:

java -classpath ~/Downloads/ansj_seg/target/ansj_seg-0.8.jar BaseAnalysisDemo

それでもエラーが発生しましたが、異なります:

Exception in thread "main" java.lang.NoClassDefFoundError: BaseAnalysisDemo
4

1 に答える 1

0

やりたいことは少し面倒ですが、実行可能であるため、すぐに Eclipse にフォールバックします。

これを試して:

mvn exec:java -Dexec.mainClass="java.org.ansj.demo.BaseAnalysisDemo.java"

引数も必要な場合は-Dexec.args、リストに追加してください。

デモをメイン ソース ツリーの下に移動する必要があることに注意してください。

于 2013-08-29T14:36:52.757 に答える