首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在spring jar中修改属性文件

如何在spring jar中修改属性文件
EN

Stack Overflow用户
提问于 2017-04-20 12:08:41
回答 2查看 4.3K关注 0票数 2

我正在编写一个Spring应用程序。这个应用程序通过MessageQueues与一个主框架对话。

因此,为了与那个MainFrame对话,我们提供了一个java (它有与MessageQueues对话的代码)。让我们称它为代理jar。

我们必须使用从上面提到的代理jar编写的操作。在我们的应用程序中,我们不编写任何代码来读写MessageQueues (IBM ),这是由代理jar及其依赖的运行时jar完成的。

因此,问题来了,这个代理jar的编码方式是在类路径中查找一个名为“commcfg.properties”的文件(希望名称完全相同)。实际上,代理jar使用另一个依赖jar (让我们调用运行时jar),它从commcfg.properties读取队列详细信息,并从消息队列读取/写入队列。

commcfg.properties具有MessageQueue和主机的值以及这些队列的端口。在短时间排队的细节。

所以麻烦的是,这些MessageQueue细节在不同的环境中是不同的。我需要根据环境使用commcfg.properties

到目前为止我尝试解决这个问题。

  1. 假设我有两个环境。因此,我将有两组不同的commcfg.properties值 我创建了如下commcfg.DEV.properties commcfg.PROD.properties文件,以便它们在类路径中 接下来,我编写了代码,这样它将根据环境获取特定的属性文件,并将其重命名为commcfg.properties(因为代理jar及其助手依赖的运行时jar需要确切的名称为commcfg.properties)。 在我的本地工作区中,我可以这样做。但是在部署时(我们使用的是坞),它被打包到spring启动jar中。 所以我的黑客不能工作,因为我们不能用jars重命名文件。
  2. 我另一个想法是: 在调用功能代码之前,我将把commcfg.properties放在类路径(project/src/main/resources)中,我将读取它,并根据每个环境的需要修改它的值。我将在application.properties中使用它们的值。但是,我再次怀疑使用in不能修改文件。

希望我很清楚,请帮帮我..。

EN

回答 2

Stack Overflow用户

发布于 2017-06-09 19:22:05

在春季启动时,您可以使用Java注释@PropertySource注册属性文件。

代码语言:javascript
复制
@SpringBootApplication
@PropertySource("classpath:commcfg.properties")
public class ApplicationConfig
{

public static void main(String args[])
{
    SpringApplication.run(ApplicationConfig.class);
}

}

并让commcfg.properties文件包含DEV环境的详细信息。

代码语言:javascript
复制
messageQueue.name=myMessageQueue
messageQueue.host=host
messageQueue.port=4040

现在构建jar文件,然后得到yourjar.jar

现在用默认值在DEV环境中运行它。

代码语言:javascript
复制
java -jar yourjar.jar 

在QA环境中运行它,覆盖配置文件中的默认值

代码语言:javascript
复制
java -jar --messageQueue.name=diffrenthost --messageQueue.host=diffrenthost --messsageQueue.port=diffrentport yourjar.jar 

通过这种方式,您可以重写默认值。我希望这能帮到你

票数 2
EN

Stack Overflow用户

发布于 2017-08-17 09:57:01

您可以将属性文件放在spring的相同路径上,配置项可以覆盖jar中的属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43519100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档