我正在尝试运行我的第一个 Java 程序,这是一个与在线 API 交互的示例脚本(Github 上的源代码)。
由于它有依赖关系,我按照推荐的步骤使用mvn test
and mvn package
,这似乎工作(见输出)。
然而,我不明白如何运行我刚刚编译(或打包?)的程序。该.java
文件包含public final class NesstarStudyLister
,因此基于pom.xml
我尝试(在基本目录中)以下命令的文件:
mhermans@fyr:~/tmp/nesstar-api-demo$ java -cp target/nesstar_study_lister-1.0-SNAPSHOT.jar com.nesstar.demo.NesstarStudyLister
这导致NoClassDefFoundError
. _
如何成功运行小型 Java 程序?
编辑:
根据 Dave Newton 的推荐,我使用了Exec Maven 插件,它显然只包含运行
mvn exec:java -Dexec.mainClass=com.nesstar.demo.NesstarStudyLister
在基本目录中,它完美地执行了 java 程序。
Andriy Plokhotnyuk 的解决方案也可以使用,使用以下命令:
(edit pom.xml to include the <build>...</build> information)
mvn package
java -jar target/nesstar_study_lister-1.0-SNAPSHOT-jar-with-dependencies.jar