我是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,我尝试如下。
第一步,我使用编译:
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一无所知。任何建议都会非常有用。
更新:
如果我使用指定的classpath运行:
java -classpath ~/Downloads/ansj_seg/target/ansj_seg-0.8.jar BaseAnalysisDemo
仍然有错误,但不同:
Exception in thread "main" java.lang.NoClassDefFoundError: BaseAnalysisDemo
答案 0 :(得分:0)
你很快就会回到Eclipse,因为你想做的事情有点麻烦,但可行。
试试这个:
mvn exec:java -Dexec.mainClass="java.org.ansj.demo.BaseAnalysisDemo.java"
如果您也需要参数,请将-Dexec.args
添加到列表中。
请注意,您必须在主源树下移动您的演示。