IntelliJ 在运行时似乎没有将提供的依赖项放在类路径上,但我可以在 Eclipse 中成功完成此操作。
因为它对我来说更方便,我怎么能在 IntelliJ 中做到这一点?
答案 0 :(得分:5)
我遇到了同样的问题。 Intellij在类路径中不包含提供的依赖项。见this source。我找到的最佳解决方案是使用exec:java
目标将其作为maven app运行。例如:
exec:java -Dexec.classpathScope=compile -Dexec.mainClass=com.splout.db.integration.NShardEnsemble -Dexec.args=4
欢迎更好的解决方案。
答案 1 :(得分:2)
它是否可以通过命令行在Maven中运行?这种行为似乎是对的。 Eclipse过去常常处理类路径,所以我猜它仍然存在。
如果您在Test source root
or Source root
中运行某些内容会有所不同,因为已提供范围仅适用于编译和测试 classpath。
如果您在Test source root
中运行测试或主方法,那么它可以使用提供的依赖项,但如果您尝试在{{1}中执行某些操作(通过IntelliJ或exec-maven-plugin
)然后它会在ClassNotFoundException上失败。
答案 2 :(得分:0)
答案 3 :(得分:0)