Projemde aşağıdaki iki bağımlılıkları var:Kullanım birden Guava versiyonları
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ extraction ---
[INFO] +- com.google.javascript:closure-compiler:jar:v20141215:compile
[INFO] | +- com.google.javascript:closure-compiler-externs:jar:v20141215:compile
[INFO] | +- args4j:args4j:jar:2.0.26:compile
[INFO] | +- com.google.guava:guava:jar:18.0:compile
[INFO] | +- com.google.code.gson:gson:jar:2.2.4:compile
[INFO] | \- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] +- org.apache.hadoop:hadoop-common:jar:2.4.0:compile
[INFO] | +- org.apache.hadoop:hadoop-annotations:jar:2.4.0:compile
[INFO] | | \- jdk.tools:jdk.tools:jar:1.7:system
[INFO] | +- (com.google.guava:guava:jar:11.0.2:compile - omitted for conflict with 18.0)
[INFO] | +- ...
: Eğer bağımlılık ağacında görebileceğiniz gibi
<dependency>
<groupId>com.google.javascript</groupId>
<artifactId>closure-compiler</artifactId>
<version>v20141215</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.4.0</version>
</dependency>
, ikisi de Guava farklı bir sürümünü içeriyor
iyi bilinen bir sorun Guava geriye doğru uyumlu olmamasıdır. Bu yüzden her iki kavanoz da ihtiyacım var.
hatası - alıyorum - şudur:
Error: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.mapreduce.lib.input.FileInputFormat
Bu zaten burada olduğunu bildirdi: https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/d5_HqUSvVl4
: https://issues.apache.org/jira/browse/HADOOP-10961Üstelik onlar gölgeleme Maven eklentisi kullanarak idare etmek önermek
burada çalıştı Hangi:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source> <!-- If you want to use Java 8, change this to "1.8" -->
<target>1.6</target> <!-- If you want to use Java 8, change this to "1.8" -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
<relocation>
<pattern>com.google</pattern>
<shadedPattern>project.shaded.com.google</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Yine de aynı hatayı alıyorum.
herkes bu Maven konuda bana yardımcı olabilir misiniz?
Belki çıkan JAR içine bakmak ve doğru şekilde inşa edilmiştir olmadığını görmelisiniz,
bunu çözdünüz mü? – MFARID