Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Maven:将凭证属性放置在何处_Java_Spring_Maven_Tomcat_Properties - Fatal编程技术网

Java Spring Maven:将凭证属性放置在何处

Java Spring Maven:将凭证属性放置在何处,java,spring,maven,tomcat,properties,Java,Spring,Maven,Tomcat,Properties,我目前正在开发一个应用程序,它需要访问具有凭据的API。我不想将它们硬编码到应用程序中,所以我为它们创建了一个configuration.properties文件 目前,该文件位于src/main/resources中,并使用以下代码访问它 <context:property-placeholder location="classpath:configuration.properties" ignore-unresolvable="true" /> 这意味着,如果我改变了配置中

我目前正在开发一个应用程序,它需要访问具有凭据的API。我不想将它们硬编码到应用程序中,所以我为它们创建了一个configuration.properties文件

目前,该文件位于src/main/resources中,并使用以下代码访问它

<context:property-placeholder location="classpath:configuration.properties" ignore-unresolvable="true" />

这意味着,如果我改变了配置中的某些内容,我需要重新部署战争

我的问题是:我应该将此配置文件放在哪里,以便在配置发生更改时不需要重新部署


我不想把它随意放在我电脑上的某个地方,这样我就可以与其他人共享我的代码,而不用担心文件的位置。

我想你已经接近了

我同意拥有一个.war文件并在任何地方重用它是一种很好的方法,而无需将其应用于特定环境。这意味着你不能把它包括在战争中

我要做的是用汇编插件创建配置zip文件(如果有多个变体)。例如,从/src/main/config/env1

然后使用环境变量指向该文件夹。 spring中的属性占位符配置器通过该系统属性而不是类路径引用该位置:

这些zip文件可以与.war文件一起部署(通过ssh使用ant runner插件或其他方式)


也可用于日志记录配置。Spring有一个解析器,如果您在文件系统上更改日志配置,它甚至会重新加载日志配置。

我想您已经接近了

我同意拥有一个.war文件并在任何地方重用它是一种很好的方法,而无需将其应用于特定环境。这意味着你不能把它包括在战争中

我要做的是用汇编插件创建配置zip文件(如果有多个变体)。例如,从/src/main/config/env1

然后使用环境变量指向该文件夹。 spring中的属性占位符配置器通过该系统属性而不是类路径引用该位置:

这些zip文件可以与.war文件一起部署(通过ssh使用ant runner插件或其他方式)


也可用于日志记录配置。Spring有一个解析器,如果您在文件系统上更改日志配置,它甚至会重新加载日志配置。

我想您已经接近了

我同意拥有一个.war文件并在任何地方重用它是一种很好的方法,而无需将其应用于特定环境。这意味着你不能把它包括在战争中

我要做的是用汇编插件创建配置zip文件(如果有多个变体)。例如,从/src/main/config/env1

然后使用环境变量指向该文件夹。 spring中的属性占位符配置器通过该系统属性而不是类路径引用该位置:

这些zip文件可以与.war文件一起部署(通过ssh使用ant runner插件或其他方式)


也可用于日志记录配置。Spring有一个解析器,如果您在文件系统上更改日志配置,它甚至会重新加载日志配置。

我想您已经接近了

我同意拥有一个.war文件并在任何地方重用它是一种很好的方法,而无需将其应用于特定环境。这意味着你不能把它包括在战争中

我要做的是用汇编插件创建配置zip文件(如果有多个变体)。例如,从/src/main/config/env1

然后使用环境变量指向该文件夹。 spring中的属性占位符配置器通过该系统属性而不是类路径引用该位置:

这些zip文件可以与.war文件一起部署(通过ssh使用ant runner插件或其他方式)


也可用于日志记录配置。Spring有一个解析器,如果您在文件系统上更改日志配置,它甚至会重新加载日志配置。

我通过将属性文件放在Tomcat“D:\Documents\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps”中解决了这个问题

并使用以下属性占位符访问它

<context:property-placeholder location="file:${catalina.base}/conf/configuration.properties" ignore-unresolvable="true" />

我通过将属性文件放在Tomcat“D:\Documents\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps”中解决了这个问题

并使用以下属性占位符访问它

<context:property-placeholder location="file:${catalina.base}/conf/configuration.properties" ignore-unresolvable="true" />

我通过将属性文件放在Tomcat“D:\Documents\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps”中解决了这个问题

并使用以下属性占位符访问它

<context:property-placeholder location="file:${catalina.base}/conf/configuration.properties" ignore-unresolvable="true" />

我通过将属性文件放在Tomcat“D:\Documents\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps”中解决了这个问题

并使用以下属性占位符访问它

<context:property-placeholder location="file:${catalina.base}/conf/configuration.properties" ignore-unresolvable="true" />


感谢您的明确回答。现在我已经解决了,但如果我没有。这就是路!我将公布我的答案。谢谢你明确的回答。现在我已经解决了,但如果我没有。这就是路!我将公布我的答案。谢谢你明确的回答。现在我已经解决了,但如果我没有。这就是路!我将公布我的答案。谢谢你明确的回答。现在我已经解决了,但如果我没有。这就是路!我会把我的答案贴出来的。好吧,这有点不舒服。我不会将应用程序配置存储在tomcat/conf中,以防您升级tomcat或在eclipse中创建另一台服务器。您可以做的是将基本文件夹传递到spring:中,并将conf.home作为-Dconf.home=“/my/path/to/conf”传递到应用程序中。这样就可以将文件放在项目中,并通过IDE将其路径传递到项目中