我成功地注入了Gradle项目。应用程序。yml,然后将其注入服务应用程序。我的申请。yml看起来像这样:
project:
version: ${version}
但只有当我从cli启动应用程序时,它才有效:
gradle bootRun
如果我尝试从IntelliJ启动应用程序,它不起作用,并且失败了:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'version' in value "${version}"
我阅读了Stackoverflow的所有答案,他们提出了两种解决方案:
>
使用Spring轮廓
修改运行配置并在启动 gradle 任务之前运行:流程资源
当我从IntelliJ运行时,我更喜欢proj.ver的默认值。这可能吗?或者对于这种情况有什么更好的解决办法?谢谢
正如M. Deina在上面的评论中所说,我设法从IntelliJ运行了应用程序,但现在gradle bootRun
开始失败:
导致:groovy.lang.MissingPropertyException:没有这样的属性:未知类:SimpleTemplateScript2
经过更多的研究,似乎${version?:未知}
(带问号)它可以从IDE或cli工作。
为了让其他人知道如何将Gradle构建信息注入Spring-boot,我更新了回复:
1)告诉 Gradle 将构建数据传递到一个 Spring yml 文件中,如下所示:
processResources {
filesMatching('appInfo.yml') {
expand(project.properties)
}}
appInfo.yml将类似于:
project:
version: ${version?:unknown}
3) 将build的版本注入Spring服务,如:
@Value("${project.version}")
private String applicationVersion;
我卡住了!如果跳过测试并部署到tomcat自动布线,则配置属性文件将正常工作。在我的测试中,它失败了!我不确定我错过了什么。 GitService-自带属性在Tomcat上工作! GitServiceTest由于NPE,该类在初始化时失败.属性为空。 粘贴后我确实意识到@EnableConfigurationProperties在application.java和GitService.java类上
问题内容: 我想制作一个DatabaseConfig类来设置与数据库相关的东西(EntityManager,DataSource,TransactionManager)并获取我在字段上使用的属性 喜欢 问题是,所有这些字符串都是NULL,而不是我的属性文件的值。 如果我将代码放入我的类(具有和中引用的代码),则值注入有效 简而言之,@Value在我的Application类中有效,但在我的自定义@
我试图向自定义注释中注入一个值,但Spring似乎没有进行评估。
文件src/main/webapp/WEB-INF/web.xml包含用于引导CDI的servlet侦听器和BeanManager引用: 通过这些设置,在使用mvn Jetty运行应用程序时,我总是遇到以下错误:run(第一行是最重要的): 应用程序正在运行,但正如异常消息所述:CDI注入在servlet中不可用。 在src/main/resources/log4j.properties中,我增加
问题内容: 我正在尝试使用CSS属性控制Google Chrome浏览器的(可怕的)字体抗锯齿功能,但它对文本完全没有影响。 我已经比较了Photoshop中的像素,这三个像素完全相同。Chrome浏览器不再支持此属性吗? 问题答案: -webkit-font-smoothing不再起作用。Google Chrome小组有意更改了此行为。似乎以前版本的OSX并未“正确”应用字体平滑处理。
我在一个android应用程序中工作,正在使用一个DialogFragment来显示一个对话框,我想让那个DialogFragment不可取消。我已经将对话框可取消属性设置为false,但它仍然不受影响。 请查看我的代码,并建议我一个解决方案。