为什么这个例外与mvn exec插件有关,但没有与裸java命令

时间:2015-07-29 09:05:44

标签: java maven

我在POM中的依赖关系:

mvn compile

我总是用mvn exec:java -Dexec.mainClass="com.example.MyApp" 编译。然后如果我用mvn exec插件执行:

java.lang.ClassNotFoundException: org.cef.network.CefRequest_N

它抛出和异常(即java -cp "path_to_repo/org/jcef/jcef/3.1750/jcef-3.1750.jar:./target/classes:path_to_repo/org/jogamp/gluegen/gluegen-rt/2.1.4/gluegen-rt-2.1.4.jar:path_to_repo/org/jogamp/jogl/jogl-all/2.1.4/jogl-all-2.1.4.jar" com.example.MyApp )。

但如果我手动操作,一切正常:

[DEBUG] com.example:myapp:jar:1.0-SNAPSHOT (selected for null)
[DEBUG]   org.jcef:jcef:jar:3.1750:compile (selected for compile)
[DEBUG]   org.jogamp.jogl:jogl-all:jar:2.1.4:compile (selected for compile)
[DEBUG]   org.jogamp.gluegen:gluegen-rt:jar:2.1.4:compile (selected for compile)

我使用-X选项调试了mvn exec,显示了我的期望:

jsfiddle.net/fyncf9j3/2/

与我手动包含的相同。

似乎maven exec插件正在做一些不同的事情导致崩溃。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试将classpathScope变量设置为compile - 从1.1.2版开始,默认范围似乎为runtime: 有关详细信息,请参阅exec-maven-plugin documentation