代码之家  ›  专栏  ›  技术社区  ›  Nick Fortescue

在maven中,main/resources和main/config有什么区别?

  •  42
  • Nick Fortescue  · 技术社区  · 14 年前

    我想在我的Maven项目中放置一个配置文件。看着 the standard directory layout ,有两个地方看起来很明智,” src/main/resources “和” src/main/config ". 有人能解释一下它们之间的区别吗,并解释一下你什么时候会把东西放进去 config 当你进入 resources ?

    在这种情况下,我看到的文件是 ehcache.xml ,但我的问题并不具体,我很好奇 log4j.properties 等。

    有点谷歌发现 this person had the same question 但是答案似乎是矛盾的,而且不是很有权威性。

    4 回复  |  直到 14 年前
        1
  •  51
  •   Nick Fortescue    14 年前

    电子邮件交换地址 http://www.mail-archive.com/users@maven.apache.org/msg90985.html 说:

    " 这都是理论。。。也许在编写文档时,参与Maven开发的人认为有一个src/main/config目录可能是有用的,因此它包含在文档中,但是由于它从未在代码中实现过,所以现在也没有使用它。 "

    " 目录 [源/主/配置] 不显示在类路径上,因此应用程序或测试类 里面什么都看不懂。 "

    所以就用 src/main/resources .

    注:我不知道这是不是真的(我是提问者),但这可以解释为什么这么多人在网上推荐 src/主要/资源 对于log4j.properties。如果人们同意这是正确的答案,你能让我知道(评论或投票)我把它放在这里,以节省其他人的打字。

        2
  •  8
  •   Boris Pavlović    14 年前

    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>
    
        3
  •  5
  •   Brice Roncace    8 年前

    包括 src/main/config 在里面 Maven's standard directory layout 已被删除,部分原因是 src/main/config文件 src/main/resources . 这个stackoverflow问题实际上在 JIRA ticket for the removal of src/main/config from Maven's standard .

    简短回答:使用 src/主要/资源 src/main/config文件 . 这是一种新的方式。

        4
  •  0
  •   jhhdk    8 年前

    如果你问我,用例很简单。(看起来src/main/config已经被删除了标准目录布局)

    • /src/main/resources进入jar,从而进入类路径
    • /src/main/config用于程序集插件,您可以在其中构造 zip文件:

      hello-world.zip
       lib/
        <dependencies>
       bin/
        run.bat
        run.sh
       config/
        config.properies