我想要什么:
我想建立一个自动部署管道-我的计划如下:
我创建了两个.war
文件,使用gradle构建脚本将它们称为prod.war
和test.war
,并将它们部署到我的tomcat服务器。
我的问题:prod.war
需要访问生产数据库(mongoprod
),并且test.war
需要访问测试数据库(mongotest
)。
我的尝试:
我以为我可以使用Spring配置文件,而...
application-context.xml
中的一行:<mongo:db-factory id="mongoDbFactory" dbname="mongoprod"/>
至:<mongo:db-factory id="mongoDbFactory" dbname="${mongo.db.name}"/>
<filename>
:<content
>):application-production.properties
:mongo.db.name=mongotest
application-test.properties
:mongo.db.name=mongoprod
production
或test
,然后使用相应的.property
文件插入所需的mongo dbname ...但是那是我不走运的地方!我试图将其添加到我的
build.gradle
文件中:bootRun { args = ["--spring.profiles.active=" + profiles] }
然后用$ ./gradlew bootRun -Ptest
运行它但我只是得到错误:
Main class name has not been configured and it could not be resolved
除了我以前没有使用bootRun
之外,到目前为止只有一个war
任务可以创建我的.war
文件:war { archiveName = 'application.war' dependsOn 'lessc', 'webpack' from "$buildDir/webapp" exclude 'WEB-INF/js/main.js' rename 'main\\.min\\.js', 'main.js' }
有谁知道我如何解决我的问题或可以给我有用的信息?
最佳答案
您需要提供一个由bootRun
任务运行的主类名称,例如:
springBoot {
mainClassName = 'org.baeldung.DemoApplication'
}
您可以在thos tutorial中了解更多信息
更新:
可以如下配置应用程序插件
application {
mainClassName = 'org.gradle.sample.Main'
}
正如plugin docs中所说
关于spring - 通过构建脚本更改mongo dbname,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55834913/