gpt4 book ai didi

java - 我到底应该把 project-defaults.yml 放在哪里?

转载 作者:行者123 更新时间:2023-12-04 00:22:28 26 4
gpt4 key购买 nike

我正在开发一个 Wildfly Swarm 项目(使用 Wildfly Swarm 版本 2017.8.1、Maven 3.5.0、OpenJDK 1.8.0_141),用户通常会上传比 Undertow 默认的 10485760 字节 (10MB) max-post 大得多的文件-尺寸设置。

我从其他人那里看到questions我需要更改的是 key swarm.undertow.servers.default-server.http-listeners.default.max-post-size

为了尝试这个设置,我在启动 jar 时将它放在命令行中:

java -jar project-swarm.jar -Dswarm.undertow.servers.default-server.http-listeners.default.max-post-size=4000000000

这成功了。如果我想使用 Wildfly Swarm maven 插件运行它,下面的方法也有效:

mvn wildfly-swarm:run -Dswarm.undertow.servers.default-server.http-listeners.default.max-post-size=4000000000

使用以上两个命令中的任何一个,我都可以上传大于 10485760 字节 (10MB) 的文件。下一步是将其设置为默认值,这样我就不必每次都通过命令行传递它。 official Wildfly Swarm configuration documentation说我应该将 undertow 设置放在 project-defaults.yml 文件中。这就是我的样子:

swarm:
undertow:
servers:
default-server:
http-listeners:
default:
max-post-size: 4000000000

问题是,这些文档都没有说明文件最终应该在哪里结束。它应该作为 war 的一部分结束,在 WEB-INF/classes 下,还是 war 的根源,或其他地方?从 github 上的 wildfly-swarm 示例 repo,通常 project-defaults.yml 文件位于src/main/resources`,这是我最初拥有它的地方。但是,它对我不起作用。任何上传大于 10485760 字节 (10MB) 的文件的尝试都会失败。

我发现 Maven 项目中放入 src/main/resources 的所有内容都会放入 war 文件的 /WEB-INF/classes(以及war 文件本身由 swarm jar 包装)。因此,我更新了我的 maven pom,以便将 project-defaults.yml 存储在 war 文件本身的基目录中。这仍然没有用。

接下来,我尝试将 project-defaults.yml 放入 swarm jar 本身,而不是封闭的 war。再一次,我无法突破 10485760 字节 (10MB) 最大帖子大小默认值。

最后,我尝试使用命令行选项来引用外部 yml 文件,如下所示:

java -jar project-swarm.jar -s../src/main/root-resources/project-defaults.yml

这加载了文件,但遗憾的是我仍然卡在默认的最大后大小 10485760 字节 (10MB)。

在这一点上,我被难住了。我的 project-defaults.yml 文件可能有误,或者我没有将它放在正确的位置。我该如何解决这个问题,以便我可以上传大于 10485760 字节 (10MB) 的文件并通过 project-defaults.yml 文件指定它?

最佳答案

对于那些正在寻找这个问题的答案的人,您有两种选择可以将 project-defaults.yml 放入您的项目中。

使用默认位置

src/main/resources/project-defaults.yml

使用Maven资源声明

将文件放在其他地方,例如:src/main/java/project-defaults.yml

然后,在构建部分使用 maven 将其声明为资源,如下所示:

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>project-defaults.yml</include>
</includes>
</resource>
</resources>
</build>

关于java - 我到底应该把 project-defaults.yml 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45767806/

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