我正试图通过Gradle脚本为一个SOAP Web服务生成类。我使用的是一个名为 gradle-jaxws-plugin
的插件,该插件可在Maven中央仓库中获取。
我的脚本如下所示:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "eu.schnuckelig.gradle:gradle-jaxws-plugin:1.0.2"
}
}
apply plugin: 'maven'
apply plugin: 'jaxws'
jaxws {
System.setProperty('javax.xml.accessExternalSchema', 'all')
packageName = 'com.myservice'
wsdlURL = 'https://example.org/services/users.svc?wsdl'
}
repositories {
mavenCentral()
}
如果我按原样使用这个脚本,会得到以下错误。[ant:wsimport] [ERROR] sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
解决此错误的一种方法是我尝试了gradle build -Djavax.net.ssl.trustStore=cacerts -Djavax.net.ssl.trustStorePassword=changeit
,它有效了。但我想在构建脚本中传递这些jvm属性。
我尝试了systemProperty.set()
,但没有成功。我正在尝试使用gradle.properties
,但也不起作用。有没有干净的方法来传递这些属性?另外,当我进行自动化构建时,我在生产环境中如何处理这个问题呢?