我们尝试使用命令行参数设置活动配置文件。 我们在启动后立即打印系统属性“ spring.profiles.active”。 在本地这可以正常工作,但是在测试服务器上未设置该属性。
我们有一个运行中的Linux服务器作为我们的测试环境。 我们使用Java 8和2.9.2来开发Web应用程序
我们通过jenkins构建应用程序,该应用程序调用bash脚本来实现。 在那里,我们使用系统属性设置了应用程序的活动配置文件。
我在启动后立即建立了一些日志记录(第一行主方法)以打印相应的属性。当我在本地对其进行测试时,效果很好,每个配置文件均按预期进行打印。 在测试服务器上,尽管根本没有配置文件。
我试图更改配置文件,添加空格仔细检查了语句以排除错别字。
其他信息:我们最近试图将我们的应用程序从端口8443移到443,这导致了严重的问题。我们缺少使用1024及以下版本(Linux服务器)的权利。我们回到了8443,直到解决了版权问题。从那以后,我们遇到了上面提到的问题。
#!/bin/bash
CMD_DIR=`dirname $0`
JAR_DIR="$CMD_DIR/../../jars/tool/"
JAR_FILE="$(ls -t $JAR_DIR)"
$ARGS="-Dspring.profiles.active=dummylogin -Dslack.logonly=false -Dslack.channel=xxx"
echo $ARGS
exec java $ARGS -jar $JAR_DIR$JAR_FILE
private static void printActiveProfiles() {
out.println(String.format("Active Spring-profiles: %s", System.getProperty("spring.profiles.active")));
}
我希望已将“ dummylogin”设置为活动配置文件。
实际上没有配置文件: 日志: 活动的弹簧轮廓:null