我刚接触春季靴子。我使用spring boot创建了一个Web应用程序。我的应用程序需要一些属性文件来进行处理。在eclipse中我做了什么,我在Run configuration
上设置路径,如下所述。
现在,当我运行应用程序时,我在路径上获取require文件并顺利运行。 现在我想在某些服务器上部署war文件。我如何为我的应用程序提供此路径。
如何使用application.properties
或任何其他方式设置此文件路径,以便我不必提供运行配置的路径,.war
可以部署在任何服务器上。
更新1 :这就是我尝试过的。
创建了customStart.bat
文件的内容是
set CATALINA_OPTS="-engine.home="/src/main/resources/" -Dlog4j.configuration=config/log4j.xml -Dlog4j.debug=true"
call startup.bat %CATALINA_OPTS%
但仍然没有设定这个论点。我该怎么做?
答案 0 :(得分:1)
从春季启动官方文档(这是创建自定义弹簧启动变量概念的一个亮点) bellow 您将找到指向Q /的链接描述解决方案的A.
Spring Boot jar附带了提供详细信息的元数据文件 所有支持的配置属性。这些文件旨在 允许IDE开发人员提供上下文帮助和“代码完成” 用户正在使用application.properties或application.yml 文件。
大部分元数据文件都是自动生成的 通过处理所有注释的项目来编译时间 @ConfigurationProperties。但是,可以编写部分内容 针对极端情况或更高级用例手动的元数据。
配置元数据文件位于jars下 META-INF / spring-configuration-metadata.json他们使用简单的JSON 格式与分类在“组”或“属性”下的项目 和其他值提示分类在"提示":
下
以下是元数据配置文件的示例:
{"groups": [
{
"name": "server",
"type": "org.springframework.boot.autoconfigure.web.ServerProperties",
"sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
},
{
"name": "spring.jpa.hibernate",
"type": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties$Hibernate",
"sourceType": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties",
"sourceMethod": "getHibernate()"
}
...
],"properties": [
{
"name": "server.port",
"type": "java.lang.Integer",
"sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
},
{
"name": "spring.jpa.hibernate.ddl-auto",
"type": "java.lang.String",
"description": "DDL mode. This is actually a shortcut for the \"hibernate.hbm2ddl.auto\" property.",
"sourceType": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties$Hibernate"
}
...
],"hints": [
{
"name": "spring.jpa.hibernate.ddl-auto",
"values": [
{
"value": "none",
"description": "Disable DDL handling."
},
{
"value": "validate",
"description": "Validate the schema, make no changes to the database."
},
{
"value": "update",
"description": "Update the schema if necessary."
},
{
"value": "create",
"description": "Create the schema and destroy previous data."
},
{
"value": "create-drop",
"description": "Create and then destroy the schema at the end of the session."
}
]
}
]}
每个“属性”是用户指定的配置项 给定的价值。例如,server.port和server.servlet-path可能是 在application.properties中指定如下:
server.port = 9090 server.servlet-path = / home“groups”更高 级别项目本身不指定值,而是提供 属性的上下文分组。例如server.port和 server.servlet-path属性是服务器组的一部分。
备注:强>
您可以轻松地从中生成自己的配置元数据文件 使用@ConfigurationProperties注释的项目 spring-boot-configuration-processor jar
您可以查看Q/A
**有关详细信息,请查看spring boot apendix section **
答案 1 :(得分:1)
作为选项,您可以将属性添加到%tomcat_home%\ conf \ catalina.properties
只需将它们放在文件的末尾,如下所示:
log4j.configuration =配置/的log4j.xml .....