如何将提供的jar添加到“运行配置”中

时间:2014-05-23 17:03:27

标签: java maven intellij-idea

我的maven pom定义了对foo.jar的依赖,其范围为:provided。

Demo.java位于src / main / java下。它导入foo提供的类。如果我为这个类创建一个运行配置,运行该类会抛出java.lang.NoClassDefFoundError

TestDemo.java位于src / main / test下。它只不过是Demo的一个包装器。如果我为这个类创建一个运行配置,那么一切正常。

如果我更新该工作配置,将主类更改为Demo,我再次看到java.lang.NoClassDefFoundError。

有没有更好的方法在IDE中运行我的主类而不是将包装器放入src / main / test?

1 个答案:

答案 0 :(得分:0)

provided范围依赖项必须在运行时在类路径上,但编译时不需要。如果您需要编译的依赖项(听起来像这样),那么您必须没有provided范围。

通常,provided的库具有compile范围的用于编译的接口库,并且只在运行时提供实现。