IntelliJ with Maven:添加类路径条目而不复制资源

时间:2016-04-12 09:33:22

标签: java maven intellij-idea

我将IntelliJ与maven一起使用。我想创建一个外部配置文件夹(即不包含在jar中),其中包含logback.groovy和一些属性文件。此文件夹由maven添加到类路径中(通过maven-jar-plugin,请参阅Maven - how can I add an arbitrary classpath entry to a jar?)。但是如果我从IntelliJ内部运行项目,则不会添加此类路径条目,也不会找到相应文件夹中的内容。将文件夹添加为运行时模块依赖项可修复问题,但似乎不是很干净。有没有什么办法可以配置maven,以便类路径条目也被添加到IntelliJ运行中。如果那不可能,我可以以某种方式添加类路径条目到执行而不诉诸依赖等。?在eclipse中,我可以在运行配置中添加任意类路径条目,我确定我在IntelliJ中缺少一些菜单。

请注意,将文件夹标记为资源(在maven或IntelliJ中)不是一个选项,因为文件夹内容会被复制到target/classes并捆绑到jar中。

编辑:为什么单独的文件夹的原因:外部库(例如logback)直接从类路径加载它们的依赖项而没有太多干预的可能性(据我所知)。我非常不喜欢将大量配置文件放在一起,而是希望它们尽可能集中。

后续问题:我在这里滥用了classpath的概念吗?

1 个答案:

答案 0 :(得分:1)

我不确定您的配置是什么样的,但您可以尝试以下方法之一:

  1. 您可以通过-cp 中的Run Configuration > JDK Settings > VM Options标记更新类路径。 似乎不允许在那里使用env变量,这使得这太难了:它需要为想法运行器提供应用程序cp和cp条目。

  2. 您实际上可以在配置中运行Maven而不是IDEA的make。请参阅Run Configuration > Before Launch,您应删除默认Make并将其替换为maven目标(例如clean compile)。