繁体   English   中英

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

[英]IntelliJ with Maven: Add classpath entry without copying the resources

我正在将IntelliJ与Maven一起使用。 我想创建一个包含logback.groovy和一些属性文件之类的外部配置文件夹(即,不包含在jar中)。 该文件夹由maven添加到类路径中(通过maven-jar-plugin,请参阅Maven-如何将任意类路径条目添加到jar中? )。 但是,如果我从IntelliJ内部运行项目,则不会添加该类路径条目,也找不到相应文件夹中的内容。 将文件夹添加为运行时模块依赖性可以解决此问题,但看起来并不干净。 有什么方法可以配置Maven,以便将类路径条目也添加到IntelliJ运行中。 如果那是不可能的,我可以以某种方式将类路径条目添加到执行中而不求助于依赖项等吗? 在Eclipse中,我可以向运行配置中添加任意的类路径条目,我确定我只是在IntelliJ中缺少某些菜单。

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

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

后续问题:我在这里滥用类路径的概念吗?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM