Maven 2 在maven中,main/resources和main/config之间有什么区别?
我想在我的Maven项目中放一个配置文件。看一下,有两个地方似乎很合理,“Maven 2 在maven中,main/resources和main/config之间有什么区别?,maven-2,Maven 2,我想在我的Maven项目中放一个配置文件。看一下,有两个地方似乎很合理,“src/main/resources”和“src/main/config”。有人能解释一下这两者之间的区别吗?解释一下什么时候你会在config和resources中放东西 在本例中,我正在查看的文件是ehcache.xml,但我的问题不是特定于ehcache的,我想知道log4j.properties等等 谷歌搜索发现了一些问题,但答案似乎相互矛盾,也不是很有说服力。scr/main/resources是一个放置图像、声
src/main/resources
”和“src/main/config
”。有人能解释一下这两者之间的区别吗?解释一下什么时候你会在config
和resources
中放东西
在本例中,我正在查看的文件是ehcache.xml
,但我的问题不是特定于ehcache的,我想知道log4j.properties
等等
谷歌搜索发现了一些问题,但答案似乎相互矛盾,也不是很有说服力。
scr/main/resources
是一个放置图像、声音、模板、语言包、源代码使用的文本和二进制文件的地方。所有配置文件,如excache.xml、log4j.properties、logback.xml和其他文件,都转到src/main/config
添加到您的pom.xml
:
<build>
<resources>
<resource>
<targetPath>.</targetPath>
<directory>src/main/config</directory>
</resource>
</resources>
</build>
.
src/main/config
在
说:
“这都是理论……也许在编写文档时,Maven开发人员认为有一个src/main/config目录可能会有用,因此它包含在文档中,但由于它从未在代码中实现过,所以现在没有使用。”
及
“目录[src/main/config]没有显示在类路径上,因此应用程序或测试类
里面什么都看不懂。”
所以只需使用src/main/resources
注意:我不知道这是不是真的(我是问问题的人),但这可以解释为什么网上有那么多人推荐log4j.properties的
src/main/resources
。如果人们同意这是正确的答案,你能让我知道(评论或投票)我把它放在这里是为了节省其他人的打字时间。如果你问我,用例非常简单。(似乎src/main/config已被标准目录布局删除)
- /src/main/resources进入jar,从而进入类路径
- /src/main/config适用于可能构造
压缩文件:
hello-world.zip lib/ <dependencies> bin/ run.bat run.sh config/ config.properies
hello-world.zip 解放党/ 垃圾箱/ 批处理文件 run.sh 配置/ config.properies
src/main/config
和src/main/resources
之间的混淆,已删除中的src/main/config
。这个问题实际上在本节中提到
简短回答:使用
src/main/resources
notsrc/main/config
。这是(新的)马文方式。我觉得这很合理,但你有推荐人吗?有各种各样的电子邮件,例如说资源是log4j的标准位置。propertiesCan找不到任何资源。这只是常识。不管你把它放在哪里,只要确保它在类路径上,这样它就会被log4j库获取。@Nick你可以遵循自己的规则,但实际上src/xxx/resources确实是配置文件的标准位置。任何时候你需要显式地为Maven配置提供一个目录,你都在做一些非标准的事情。我个人将log4j.properties这样的文件放在src/main/resources中,它“刚好工作”。我同意这个解决方案。默认情况下,放入src/main/resources
的内容将成为jar文件的一部分。如果您希望配置文件位于JAR之外,那么我认为使用src/main/config
更有意义。只要我的两分钱。这是正确的,只需使用src/xxx/resources
就可以获得类路径上的所有非源文件。当然,您可以决定添加其他目录,但您需要向POM添加特定配置。感谢您的澄清。我在查看文档时,没有提到这一点:(我使用src/main/config来保存我不想打包到目标中的配置项,比如JBoss配置脚本。我想我找到了main/config目录的一个用例。我有两个可选的配置文件,在类路径中没有用处。应用程序及其容器的配置文件示例部署在上。我找不到其他地方可以放置它们。这可能是放置eclipse插件配置文件(findbugs、checkstyle等)的好地方。我不希望这些文件捆绑在归档文件中。