2015-10-28 34 views
0

解決依賴我開發maven.That行家實用一身的實用工具,我想的gradle中使用和使用Maven Maven的自定義插件自定義插件此實用程序工作正常,但在gradle產出的情況下,插件它扔以下問題。問題的gradle中的自定義插件

的例外是:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':hiveUnitTask'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 


Caused by: java.lang.NoSuchMethodError: org.apache.hive.service.cli.operation.LogDivertAppender.setWriter(Ljava/io/Writer;)V 
    at org.apache.hive.service.cli.operation.LogDivertAppender.<init>(LogDivertAppender.java:166) 
    at org.apache.hive.service.cli.operation.OperationManager.initOperationLogCapture(OperationManager.java:85) 
    at org.apache.hive.service.cli.operation.OperationManager.init(OperationManager.java:63) 

搖籃插件是用Java開發。我效用

POM文件如下:從你的類路徑

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.datametica.hiveunit</groupId> 
    <artifactId>hive_unit</artifactId> 
    <version>1.0</version> 
    <packaging>jar</packaging> 

    <name>HiveUnit</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <hadoop.version>2.2.0</hadoop.version> 
     <hive.version>1.2.1</hive.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.10</version> 
      <scope>test</scope> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>junit-addons</groupId> 
      <artifactId>junit-addons</artifactId> 
      <version>1.4</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-minicluster</artifactId> 
      <version>${hadoop.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>xerces</groupId> 
      <artifactId>xercesImpl</artifactId> 
      <version>2.9.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.hive</groupId> 
      <artifactId>hive-service</artifactId> 
      <version>${hive.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.hive</groupId> 
      <artifactId>hive-jdbc</artifactId> 
      <version>${hive.version}</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>hive-service</artifactId> 
        <groupId>org.apache.hive</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
</dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
</plugins> 
    </build> 
</project> 

回答

0

刪除log4j的環比SLF4J。

+0

亞歷克斯您好,我試圖消除log4j的環比SLF4J的依賴,但面臨着同樣的問題,沒有運氣,你可以請幫忙找出問題 –

0

我從這個包含hive服務jar的源代碼中複製出類似這個錯誤的源代碼,並將它放在我的插件項目中,方法是在hive服務jar中創建相同的包結構,這解決了我知道它的問題完美的解決方案,但它的變通方法,解決了我的目的