gpt4 book ai didi

GWT 不使用目标中的资源属性文件,而是使用 src/main/resources 中的资源属性文件。如何用占位符制作它?

转载 作者:行者123 更新时间:2023-12-02 23:59:42 25 4
gpt4 key购买 nike

我有 gwt web 项目,它必须使用 application.properties (在客户端)作为 TextResource 在代码中加载。一切工作正常,但现在我想将所有属性值集中在 maven pom.xml 中。因此,我使用 key1=${param1} 等占位符制作了 application.properties,并在 pom.xml 中配置了属性 param1Value

所以,发生的情况是,maven 替换了目标目录中 application.properties 中的占位符,但 gwt 编译器似乎使用 src/main/resources 中的 application.properties 文件。我检查了编译后的 js 文件,我可以看到占位符没有被 pom.xml 中的值替换(目标的 application.properties 是正确的)。

更新:问题是,我正在过滤的属性文件是一个 gwt messages 资源包文件,从我所看到的情况来看,maven 创建了一个“生成”文件夹,并根据在根项目源文件夹中找到的属性文件放置了一个生成的 java 文件,不在目标文件夹中。之后,它将其合并到 javascript 通用文件中。这意味着我有两种可能性:1)告诉资源插件覆盖位于源文件夹中的属性文件(我对此不太满意,因为我肯定会在下一个颠覆更新时遇到问题)2)告诉gwt-maven-plugin在target/classes文件夹中寻找属性文件,我认为这是不可能的

你觉得怎么样?

最佳答案

我通过使用 resources:copy-resources 执行和 build-helper 插件解决了同样的问题。特别是配置资源插件:

  <plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>filter-sources</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<outputDirectory>${project.build.directory}/gwt-extra</outputDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/filtered-sources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>

并使用构建助手包含它:

  <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source-gwt</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/gwt-extra</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>

关于GWT 不使用目标中的资源属性文件,而是使用 src/main/resources 中的资源属性文件。如何用占位符制作它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256579/

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