Maven Gradle构建失败,带有“0”;无法解析…${javassist.version}。。。路径中的非法字符

Maven Gradle构建失败,带有“0”;无法解析…${javassist.version}。。。路径中的非法字符,maven,gradle,Maven,Gradle,在我的Gradle dependencies文件中,我依赖于: dependencies { compile 'net.johnluetke.WeatherAPI:WeatherAPI:0.9.4' WeatherAPI反过来依赖于org.reflections,它具有基于javassist的Maven概要文件的依赖性 尝试构建我的(Java 8)应用程序时出现的错误是: 如何获取我的应用程序构建?Gradle不支持解析已发布POM中的占位符-有关此问题的更多信息,请参阅 幸运的是,Gra

在我的Gradle dependencies文件中,我依赖于:

dependencies {
  compile 'net.johnluetke.WeatherAPI:WeatherAPI:0.9.4'
WeatherAPI反过来依赖于org.reflections,它具有基于javassist的Maven概要文件的依赖性

尝试构建我的(Java 8)应用程序时出现的错误是:


如何获取我的应用程序构建?

Gradle不支持解析已发布POM中的占位符-有关此问题的更多信息,请参阅

幸运的是,Gradle可以解析具有相同名称的系统属性

如果我们进入pom.xml中的
org.reflections:reflections
,我们可以看到javassist的配置文件设置:

由于该应用程序是Java 8,因此我们需要除版本5之外的任何JRE的配置文件,因此我们需要:

<javassist.version>3.18.2-GA</javassist.version>

然后应用程序应该会生成。

谢谢@PeterNiederwieser,我从你在该线程中的答案中猜出来了!Gradle确实支持在解析已发布POM时替换其中的占位符。您在这里看到的问题与解析POM概要文件有关。Gradle只考虑特定的配置文件激活条件:默认情况下处于活动状态,在缺少系统属性时激活。这不是POM的情况。
<javassist.version>3.18.2-GA</javassist.version>
systemProp.javassist.version=3.18.2-GA