gpt4 book ai didi

java - 如何用 xml 文件中的实际值替换变量,该文件位于 Maven 的另一个依赖项 jar 文件中

转载 作者:行者123 更新时间:2023-12-01 15:49:34 25 4
gpt4 key购买 nike

我们有一个名为 web-app1 的项目,并且依赖于另一个名为 core-app.jar 的 jar 文件,该文件由另一个团队作为共享库提供,但此 core-app 中有一个 hibernate.cfg.xml .jar(jar里面),内容如下。

<hibernate-configuration>
<session-factory>
<property name="dialect">${hibernate.dialect}</property>
<property name="query.substitutions"><![CDATA[false 'N', true 'Y']]></property>
<property name="show_sql">false</property>
<property name="format_sql">false</property>
<property name="use_sql_comments">false</property>
<property name="generate_statistics">true</property>
<property name="hibernate.connection.release_mode">after_transaction</property>
<!-- Search Configurations -->
<property name="hibernate.search.default.directory_provider">org.hibernate.search.store.FSDirectoryProvider</property>
<property name="hibernate.search.default.indexBase">${lucene.index.home}</property>
<property name="hibernate.search.default.batch.merge_factor">10</property>
<property name="hibernate.search.default.batch.max_buffered_docs">10</property>
</session-factory>
</hibernate-configuration>

正如我们在“搜索配置”部分中看到的,有一个变量 ${lucene.index.home} 应该被不同操作系统平台上的其他项目替换,
那么问题来了,maven是否提供了一种方法来过滤依赖jar文件并过滤内容呢?有插件吗? war : war ,解压吗?依赖关系?我想不出一个快速的方法来做到这一点。在我看来,无论采用什么插件,插件基本上都需要做4件事。

  • 1 将 jar 打开流程资源阶段。
  • 2 将 ${var} 替换为配置文件中定义的值。
  • 3 再次将其装回 jar 中。
  • 4 需要从打包/拆包工作区返回maven进程路径??

以前有人遇到过类似的要求吗?

谢谢

最佳答案

我假设这些值是在运行时设置的,可能作为虚拟机参数。提供必须修改才能使用的 jar 文件是没有意义的。

关于java - 如何用 xml 文件中的实际值替换变量,该文件位于 Maven 的另一个依赖项 jar 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389426/

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