在我的Spring Boot项目中,我在 gradle 中有以下片段,它将gradle属性导出到Spring Environment。
processResources {
filesMatching("**/application.properties") {
expand(project.properties)
}
}
我的 application.properties 看起来像这样(摘录)
app.version = $ {jar.version}
效果很好。我可以使用 @value 在Spring课程中使用gradle propeties,甚至可以使用
在百万美元中访问它们个:文本=" $ {@ environment.getProperty(' app.version')}
但现在问题是:当我使用" gradle bootRun"运行相同的项目时。我得到了这个:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jar.version' in string value "${jar.version}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174) ~[spring-core-4.3.3.RELEASE.jar:4.3.3.RELEASE]
我通过不使用processResources之类的方式来假设gradle的bootRun的工作方式是什么?
问题是:我怎样才能让它发挥作用。我不想放弃使用bootRun。
答案 0 :(得分:2)
指定无法找到真实值时使用的默认值?
<LinearLayout
android:id="@+id/frontImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="2"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:src="@mipmap/ic_launcher" />
</LinearLayout>