当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle4.7中设置Spring引导活动轮廓

谷梁裕
2023-03-14

总体:
我试图为一个特定的spring配置文件运行gradle build任务,但在通过以下测试时出现了一个错误:

au.com.mnpd.security.JwtTokenUtilTest > generateToken_succeeds FAILED
java.lang.IllegalStateException
    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException
        Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException
            Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException
                Caused by: org.springframework.beans.factory.BeanCreationException
                    Caused by: java.lang.IllegalArgumentException
- gradlew -Dspring.profiles.active=development build

- gradlew -Pdevelopment build
bootRun {
        bootRun.systemProperty 'spring.profiles.active', 'development'
}

注意:我对生成尝试了相同的方法,但生成任务不存在build.SystemProperty方法。

因为我是新来的,如果你能和我分享你真正的解决方案,我会很感激。

共有1个答案

姜德容
2023-03-14

您正在寻找的是在test任务上设置系统属性,该任务将运行您的单元测试:

test {
  systemProperty 'spring.profiles.active', 'development'
}

在评论后编辑-保留下面的原始答案,因为它可能仍然有用。

Gradle不知道bootrun公开其系统属性的方式。

bootRun {
    bootRun.systemProperty 'spring.profiles.active', "${springProfile}"
}

然后在gradle.properties中设置默认值:

springProfile = development

并可能重写命令行上的值:

./gradlew -PspringProfile=test build
 类似资料:
  • 问题内容: 在上述情况下,bean中的属性随环境而变化。在开发时,config的引用更改为。并在阶段中将参考更改为。问题在检入spring文件时出现。每次签入之前,我们都必须分析config的引用。如果config的引用具有签入的值,我们可能必须解释很多问题。 有什么解决方案可以使其自动化? 注意:春季版本为2.0.1 问题答案: 使用Spring的PropertyPlaceholderConfi

  • 我使用AWS ECS来托管我的应用程序,并使用DynamoDB进行所有数据库操作。因此,我将为不同的环境使用相同的数据库和不同的表名。如dev_users(Dev env)、test_users(Test env)等。(这是我们公司如何在不同环境下使用相同的Dynamo帐户) 因此,我想使用通过“AWS ECS任务定义”环境参数传递的环境变量更改模型类的“tableName”。 例如 我的模型类是

  • 问题内容: 我有一个菜单栏,其中子菜单上的两个项目都调用同一页面: 在该页面中,我有一个带有两个选项卡的选项卡视图: 如何设置活动标签,以便每个菜单项都激活相应的标签? 问题答案: 如果您想这样做,则不能使用中的,因为我们必须 在 跳到页面 之前 调用一种方法来更改tabindex 。如果使用,则在我们跳到页面后将调用该方法。 首先,您可以使用的操作字段,该方法返回您要跳过的地址: 这两种方法可以

  • 注意我没有使用任何前端

  • 问题内容: 嗨,我在每个页面上的网站上都有一个菜单,我想将其放在自己的menu.php文件中,但是我不确定如何为我所在的任何页面设置 class =“ active” 。这是我的代码:请帮助我 menu.php: 问题答案: 如果您要在脚本中构建一个页面数组并将其与当前活动页面一起传递到视图文件,将会更容易: 使用像Smarty这样的模板引擎,您的menu.php看起来会更好:

  • 问题内容: 我有这个: 在角度我有这个: 但是我该如何在单击时更改此设置,以便如果用户在菜单上单击一次即可激活,如果再次单击将不处于激活状态? 问题答案: 好吧,假设您有多个菜单项,并且想要根据点击来切换课程, 您可以 在控制器中 创建一个将菜单项表示为的数组, 分配默认的选定菜单项 创建一个函数来分配选定的菜单值,此函数将分配最后一个选定的菜单项。 在 HTML中 遍历数组并创建菜单。 在检查最