通过spring boot,我知道我可以拥有配置文件,并根据活动配置文件使用不同的配置文件。例如命令:
msgstr"mvn弹性引导:运行-Drun.profiles=默认,生产"
将使用“application default.properties”和“application production.properties”中定义的设置运行我的spring boot应用程序,第二个文件上的设置将覆盖第一个文件中定义的相同设置(例如db connection settings)。所有这些目前运行良好。
但是,我想构建我的spring boot应用程序,并使用以下命令生成一个可运行的jar:
"mvn包sping-start: repack".
这个命令确实很好地生成了自包含的可运行的jar。问题是,我如何用前一个命令指定活动配置文件?我已经使用了
mvn package spring boot:重新打包-Drun.profiles=默认,生产
但它不起作用。
Spring配置文件是针对应用程序运行时的。它们不像Maven配置文件那样在打包应用程序时运行。所以你必须在启动应用程序时使用它们,而不是打包它。
然而,如果你想生成不同的包,每个包都有一些默认的配置文件,你可以使用Maven资源过滤。毕竟,使用Maven构建Spring Boot可运行jar的方法是遵循标准过程,因此需要使用Spring Boot Maven插件:
mvn clean install -PproductionMvnProfile
另见:
我在这篇文章中回答了同样的问题:在maven构建中传递Spring配置文件,但我将在这里再次重复答案。
如果有人有同样的情况,要使用特定的配置文件运行Spring引导可运行的jar或war,您需要在默认application.properties文件中显示属性spring.profiles.active
,以便在生成工件时动态更改其值,您可以这样做:
首先在spring属性或yaml文件中,添加spring。个人资料。以其值作为占位符处于活动状态:
spring.profiles.active=@active.profile@
其次,用maven传递值:
mvn clean package spring-boot:repackage -Dactive.profile=dev
或者,如果Spring启动插件已经出现在您的pom中,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
您可以运行以下命令:
mvn干净包active.profile
当jar/war打包时,值将被设置为dev。
您还可以利用maven配置文件的使用:
<profiles>
<profile>
<id>dev</id>
<properties>
<active.profile>dev</active.profile>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<active.profile>prod</active.profile>
</properties>
</profile>
</profiles>
然后运行:
mvn clean install -Pdev
您不需要传递两个属性文件(默认和dev/prod),默认情况下是应用程序中的变量。属性将首先执行。
我编写了一个reindex方法,可以执行以下操作: 它确实起到了作用,但我现在确定,仅仅删除然后创建一个索引是否有意义。如何改进此方法?
我正在尝试使用python应用程序(基于django)进行测试,以便能够将事务跟踪推送到Elastic APM,稍后可以使用OpenDistro Elastic中的跟踪分析工具查看。 我试过以下方法 方法1: 然后,在文件中,我添加了以下代码,以直接将跟踪发送到弹性APM。 运行代码时,出现以下错误: 方法2: 由于方法1不起作用,我尝试在两者之间使用OpenTelemetry Collector
问题内容: 我正在动态列表上使用TwitterBootstrap的弹出窗口。列表项有一个按钮,当我单击该按钮时,它将显示弹出窗口。当我在非动态环境下进行测试时,它可以正常工作。 这是我的非动态列表JavaScript 但是,它在动态列表上效果不佳。当我单击“两次”按钮时,它可以显示,并且仅显示我单击第一时间的列表项之一。 我的HTML: 我的动态JavaScript: 我已经搜索过类似的问题,但是
我在elastic beanstalk上使用django进行开发,我想对apache配置做两个更改: 1.将www.domain.com重定向到domain.com 2.将http://domain.com重定向到https://domain.com 有人知道如何在弹性豆茎中添加重写吗?
我是弹性搜索新手,并且已经完成了类似mykong教程的基本教程 我对创建任何文档的一部分有疑问 创建操作示例插入包含 /mkyong/posts/1001和以下请求数据的新文档: 问题1:-ES是否会在上述文档的所有属性上创建反向索引,即默认情况下的标题/类别/已发布/作者,并提供全文搜索,还是需要明确提及? 问题2:-在上述示例中,我们已经有了唯一的\u id,即。如果我已经将其存储在DB中并生
我有一个spring boot应用程序,它使用本地弹性搜索和spring boot执行器2.1.2仅用于度量目的。现在我需要实现一个默认的健康检查,所以我在配置application.properties类中打开了它,如下所示: 它工作得很好,我可以使用调用http://localhost/acturet/health的默认实现来实现健康状态。 我能不能只禁用这个电话?