2017-06-26 19 views
1

次の依存関係を持つAWS Java S3 SDKを使用しています。Groovy ScriptのAWS Java SDK - プロバイダcom.bea.xml.stream.MXParserFactoryが見つかりません

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk-s3</artifactId> 
    <version>1.11.155</version> 
</dependency> 

すべては、Javaから素晴らしい作品:

BasicAWSCredentials credentials = new BasicAWSCredentials(key, secret); 
AmazonS3 s3 = AmazonS3ClientBuilder 
    .standard() 
    .withCredentials(new AWSStaticCredentialsProvider(credentials)) 
    .withRegion(region) 
    .build(); 

私がしようとGroovyスクリプトを使用して、正確なことを行う場合は、次の

Caught: javax.xml.stream.FactoryConfigurationError: 
Provider com.bea.xml.stream.MXParserFactory not found 

def credentials = new BasicAWSCredentials(key, secret); 
def s3 = AmazonS3ClientBuilder 
    .standard() 
    .withCredentials(new AWSStaticCredentialsProvider(credentials)) 
    .withRegion(s3region) 
    .build() 

私は例外を取得します

明示的にstax de私の.pomへの懸念は、他の場所で私に矛盾するクラスを与え始めます。

Groovyではこれにいくつかのトリックがありますか? STAX-APIを除く

答えて

0

試してみてください。

ちょうどSTAXが私を与えていたに引っ張る
@GrabConfig(systemClassLoader = true) 
@Grab('stax:stax:1.2.0') 
@GrabExclude('stax:stax-api') 

java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" the class loader (instance of org/codehaus/groovy/tools/RootLoader) of the referring class, javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) for the field's resolved type, javax/xml/namespace/QName, have different Class objects for that type 

STAX-APIの依存性がと競合javax.xml.namespace.QNameクラスを持っていますJREによって提供されるもの(https://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html)。

関連する問題