2017-06-29 182 views
0

我是Maven的新手,並且在Windows 64位計算機上安裝了3.5.0。如https://avro.apache.org/docs/1.8.2/gettingstartedjava.html中所述,我在pom.xml中添加了Avro依賴項。我對着構建失敗並得到ArrayIndexOutOfBoundsException命令行做mvn clean compile時:Maven命令行拋出ArrayIndexOutOfBoundsException在添加Avro依賴項時

[DEBUG] ======================================================================= 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.147 s 
[INFO] Finished at: 2017-06-29T10:56:16-05:00 
[INFO] Final Memory: 6M/123M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] 53090 
java.lang.ArrayIndexOutOfBoundsException: 53090 
     at org.codehaus.plexus.util.xml.pull.MXParser.parsePI(MXParser.java:2502 
) 
     at org.codehaus.plexus.util.xml.pull.MXParser.parseEpilog(MXParser.java: 
1604) 
     at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:143 
4) 
     at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1131) 
     at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.j 
ava:3856) 
     at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.j 
ava:595) 
     at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader. 
java:109) 
     at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader. 
java:82) 
     at org.apache.maven.model.building.DefaultModelProcessor.read(DefaultMod 
elProcessor.java:81) 
     at org.apache.maven.model.building.DefaultModelBuilder.readModel(Default 
ModelBuilder.java:535) 
     at org.apache.maven.model.building.DefaultModelBuilder.readParentExterna 
lly(DefaultModelBuilder.java:1097) 
     at org.apache.maven.model.building.DefaultModelBuilder.readParent(Defaul 
tModelBuilder.java:829) 
     at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultMode 
lBuilder.java:331) 
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader. 
loadPom(DefaultArtifactDescriptorReader.java:321) 
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader. 
readArtifactDescriptor(DefaultArtifactDescriptorReader.java:199) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCa 
chedArtifactDescriptor(DefaultDependencyCollector.java:544) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifa 
ctDescriptorResult(DefaultDependencyCollector.java:528) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe 
pendency(DefaultDependencyCollector.java:418) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe 
pendency(DefaultDependencyCollector.java:372) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(D 
efaultDependencyCollector.java:360) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse 
(DefaultDependencyCollector.java:513) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe 
pendency(DefaultDependencyCollector.java:467) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe 
pendency(DefaultDependencyCollector.java:372) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(D 
efaultDependencyCollector.java:360) 
     at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDe 
pendencies(DefaultDependencyCollector.java:263) 
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDepen 
dencies(DefaultRepositorySystem.java:325) 
     at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D 
efaultProjectDependenciesResolver.java:169) 
     at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe 
pendencies(LifecycleDependencyResolver.java:195) 
     at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resol 
veProjectDependencies(LifecycleDependencyResolver.java:127) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAr 
eResolved(MojoExecutor.java:246) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:200) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:154) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:146) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje 
ct(LifecycleModuleBuilder.java:117) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje 
ct(LifecycleModuleBuilder.java:81) 
     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre 
adedBuilder.build(SingleThreadedBuilder.java:51) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl 
eStarter.java:128) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:191) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun 
cher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav 
a:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La 
uncher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 
356) 
[ERROR] 

下面是pom.xml文件,我使用:

<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>Test</groupId> 
    <artifactId>Trail</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
      <dependencies> 
       <dependency> 
         <groupId>junit</groupId> 
         <artifactId>junit</artifactId> 
         <version>3.8.1</version> 
         <scope>test</scope> 
       </dependency> 
      <dependency> 
       <groupId>com.datastax.cassandra</groupId> 
       <artifactId>cassandra-driver-core</artifactId> 
       <version>3.3.0</version> 
     </dependency> 
     <dependency> 
       <groupId>org.apache.avro</groupId> 
       <artifactId>avro</artifactId> 
       <version>1.8.2</version> 
     </dependency> 
      </dependencies> 
</project> 
+0

請添加maven日誌 – ronhash

回答

1

的所有細節見https://issues.apache.org/jira/browse/MNG-6216

總之:在下載pom時,文件被損壞了。出於某種原因,額外的內容被添加到結束標記後,使其不是有效的xml文件。 Maven 3.3.9和之前忽略所有數據,3.5.0更嚴格。有兩個簡單的解決方案:刪除你的本地存儲庫或使用maven 3.3.9

哪裏還在尋找這個問題的原因。這可能在很長一段時間,但它從來都不是問題。

你可以檢查avro的pom,因爲那是導致問題或它的一個依賴關係。

+0

將Maven降級到3.3.9解決了這個問題! – user2401547

相關問題