gpt4 book ai didi

java - Maven : Including a META-INF folder in the classes folder

转载 作者:IT老高 更新时间:2023-10-28 20:44:45 29 4
gpt4 key购买 nike

我有一个非常简单的 WAR 项目,我想在所有已编译 Java 类所在的类输出文件夹的顶部包含一个名为 META-INF 的目录。我正在使用 Maven,但似乎默认情况下 Maven 不会包含任何不是 Java 类的东西。所以它忽略了我位于 src 目录顶部的 META-INF 目录。META-INF 目录包含一个名为 persistence.xml 的文件。关于如何指示 Maven 将此目录和文件放入输出文件夹的任何快速指针?

最佳答案

一般来说,对于基于 Java 的 Maven 项目,非源文件应该放在项目的 src/main/resources 子目录中。 resources 目录的内容在构建的 process-resources 阶段复制到输出目录(默认情况下,target/classes) .

对于 Maven WAR 项目,稍微复杂一些:还有 src/main/webapp 目录,Maven 期望在其中找到 WEB-INF/web.xml。要构建您的 WAR 文件,该文件必须存在;否则,您将看到如下错误消息:

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)

由于 WEB-INF 目录必须存在于 src/main/webapp 下,我建议避免在 src/main/resources< 中再次定义它。尽管这是完全有效的,并且两个目录的内容将被合并,但如果在两个目录中都定义了一个文件,它可能会让人感到困惑。 src/main/resources 的内容将优先,因为它们是在 src/main/webapp 的内容之上复制的。

关于java - Maven : Including a META-INF folder in the classes folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297473/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com