ambari-infra-solr-plugin依赖报错解决方案
# 背景说明
在基于源码环境编译 Ambari 的 ambari-infra-solr-plugin
子模块时,经常会遇到各种依赖类缺失、符号找不到等报错,尤其是当依赖关系未配置完整或组件版本适配存在问题时。
常见场景
比如通过 mvn clean package -Dbuild-rpm -DskipTests -Djdk.version="1.8" -Drat.skip=true -X
执行打包,部分模块能通过,ambari-infra-solr-plugin
却频繁失败。
是导致编译失败的主要原因,下面详细分析整个排查和修正过程。依赖缺失
# 典型报错现象与日志
编译命令:
mvn clean package -Dbuild-rpm -DskipTests -Djdk.version="1.8" -Drat.skip=true -X
# 或仅单独编译
mvn clean package -DskipTests -Djdk.version="1.8" -Drat.skip=true -Dmaven.test.skip=true
1
2
3
4
2
3
4
部分报错摘要如下:
[INFO] Reactor Summary for ambari-infra 3.0.0.0-SNAPSHOT:
[INFO]
[INFO] ambari-infra ....................................... SUCCESS [ 3.212 s]
[INFO] Ambari Infra Solr Client ........................... SUCCESS [ 7.857 s]
[INFO] Ambari Infra Solr Plugin ........................... FAILURE [ 0.898 s]
[INFO] Ambari Infra Manager ............................... SKIPPED
[INFO] Ambari Infra Assembly .............................. SKIPPED
[INFO] Ambari Infra Manager Integration Tests ............. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.063 s
[INFO] Finished at: 2025-06-12T01:07:32Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project ambari-infra-solr-plugin: Compilati
on failure: Compilation failure:
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[34,35] package o
rg.apache.solr.common.util does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[35,35] package o
rg.apache.solr.common.util does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[36,35] package o
rg.apache.solr.common.util does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[54,8] cannot acc
ess org.apache.solr.common.SpecProvider
[ERROR] class file for org.apache.solr.common.SpecProvider not found
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[21,38] package org.apac
he.commons.collections does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[22,38] package org.apac
he.commons.collections does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[23,56] package org.apac
he.hadoop.security.authentication.server does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[24,54] package org.apac
he.hadoop.security.authentication.util does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[21,38] package org.ap
ache.commons.collections does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[22,56] package org.ap
ache.hadoop.security.authentication.server does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[23,54] package org.ap
ache.hadoop.security.authentication.util does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[282,72] cannot f
ind symbol
[ERROR] symbol: class CommandOperation
[ERROR] location: class org.apache.solr.security.InfraRuleBasedAuthorizationPlugin
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[300,10] cannot f
ind symbol
[ERROR] symbol: class ValidatingJsonMap
[ERROR] location: class org.apache.solr.security.InfraRuleBasedAuthorizationPlugin
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/GaugeConverter.java:[25,28] packag
e com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[36,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[38,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[39,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[40,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[41,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[42,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[43,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[44,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[45,28]
package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[47,46]
cannot find symbol
[ERROR] symbol: class ScheduledReporter
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/GaugeConverter.java:[28,57] cannot
find symbol
[ERROR] symbol: class Gauge
[ERROR] location: interface org.apache.ambari.infra.solr.metrics.reporters.GaugeConverter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[56,34]
cannot find symbol
[ERROR] symbol: class MetricRegistry
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[58,34]
cannot find symbol
[ERROR] symbol: class MetricFilter
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[62,70]
cannot find symbol
[ERROR] symbol: class MetricAttribute
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[72,40]
cannot find symbol
[ERROR] symbol: class Gauge
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[73,40]
cannot find symbol
[ERROR] symbol: class Counter
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[74,40]
cannot find symbol
[ERROR] symbol: class Histogram
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[75,40]
cannot find symbol
[ERROR] symbol: class Meter
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[76,40]
cannot find symbol
[ERROR] symbol: class Timer
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[99,54]
cannot find symbol
[ERROR] symbol: class Gauge
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[107,54]
cannot find symbol
[ERROR] symbol: class Timer
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
25,28] package com.codahale.metrics does not exist
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
31,11] cannot find symbol
[ERROR] symbol: class MetricRegistry
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporterBuilder<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
33,11] cannot find symbol
[ERROR] symbol: class MetricFilter
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporterBuilder<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
38,15] cannot find symbol
[ERROR] symbol: class MetricAttribute
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporterBuilder<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
47,53] cannot find symbol
[ERROR] symbol: class MetricRegistry
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporterBuilder<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
57,51] cannot find symbol
[ERROR] symbol: class MetricFilter
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporterBuilder<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java:[
82,73] cannot find symbol
[ERROR] symbol: class MetricAttribute
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporterBuilder<T>
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[98,3] method doe
s not override or implement a method from a supertype
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[150,50] cannot a
ccess org.apache.solr.common.params.SolrParams
[ERROR] class file for org.apache.solr.common.params.SolrParams not found
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[185,3] method do
es not override or implement a method from a supertype
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[263,3] method do
es not override or implement a method from a supertype
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[281,3] method do
es not override or implement a method from a supertype
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[283,10] cannot f
ind symbol
[ERROR] symbol: class CommandOperation
[ERROR] location: class org.apache.solr.security.InfraRuleBasedAuthorizationPlugin
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[299,3] method do
es not override or implement a method from a supertype
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java:[301,12] cannot f
ind symbol
[ERROR] symbol: variable Utils
[ERROR] location: class org.apache.solr.security.InfraRuleBasedAuthorizationPlugin
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[36,30] cannot find symb
ol
[ERROR] symbol: class AuthenticationToken
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[37,7] cannot find symbo
l
[ERROR] symbol: class AuthenticationToken
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[37,50] cannot find symb
ol
[ERROR] symbol: class AuthenticationToken
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[38,7] cannot find symbo
l
[ERROR] symbol: class KerberosName
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[38,39] cannot find symb
ol
[ERROR] symbol: class KerberosName
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[41,11] cannot find symb
ol
[ERROR] symbol: variable MapUtils
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[45,11] cannot find symb
ol
[ERROR] symbol: variable MapUtils
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraKerberosHostValidator.java:[47,13] cannot find symb
ol
[ERROR] symbol: variable CollectionUtils
[ERROR] location: class org.apache.solr.security.InfraKerberosHostValidator
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[37,30] cannot find sy
mbol
[ERROR] symbol: class AuthenticationToken
[ERROR] location: class org.apache.solr.security.InfraUserRolesLookupStrategy
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[38,7] cannot find sym
bol
[ERROR] symbol: class AuthenticationToken
[ERROR] location: class org.apache.solr.security.InfraUserRolesLookupStrategy
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[38,50] cannot find sy
mbol
[ERROR] symbol: class AuthenticationToken
[ERROR] location: class org.apache.solr.security.InfraUserRolesLookupStrategy
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[39,7] cannot find sym
bol
[ERROR] symbol: class KerberosName
[ERROR] location: class org.apache.solr.security.InfraUserRolesLookupStrategy
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[39,39] cannot find sy
mbol
[ERROR] symbol: class KerberosName
[ERROR] location: class org.apache.solr.security.InfraUserRolesLookupStrategy
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraUserRolesLookupStrategy.java:[41,11] cannot find sy
mbol
[ERROR] symbol: variable CollectionUtils
[ERROR] location: class org.apache.solr.security.InfraUserRolesLookupStrategy
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/AMSReporter.java:[58,13] cannot fi
nd symbol
[ERROR] symbol: method start(int,java.util.concurrent.TimeUnit)
[ERROR] location: variable reporter of type org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/AMSReporter.java:[77,15] cannot fi
nd symbol
[ERROR] symbol: method close()
[ERROR] location: variable reporter of type org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/AMSCacheReporter.java:[49,21] inco
mpatible types: bad return type in lambda expression
[ERROR] inference variable T has incompatible bounds
[ERROR] equality constraints: org.apache.hadoop.metrics2.sink.timeline.TimelineMetric
[ERROR] lower bounds: java.lang.Object
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[71,3] m
ethod does not override or implement a method from a supertype
[ERROR] /opt/modules/ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java:[110,7]
cannot find symbol
[ERROR] symbol: class Snapshot
[ERROR] location: class org.apache.ambari.infra.solr.metrics.reporters.ScheduledAMSReporter<T>
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile
) on project ambari-infra-solr-plugin: Compilation failure
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:911)
at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :ambari-infra-solr-plugin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
报错解读
绝大部分为依赖缺失导致的 “找不到类/包”
问题,典型如 com.codahale.metrics
、org.apache.solr.common.util
、commons-collections
等。
# 问题定位
- 依赖未补全或版本冲突:核心依赖未在
pom.xml
明确声明,或某些 jar 实际并未被拉取。 - Makefile/构建脚本未加统一跳过测试参数,导致部分参数未生效。
- 部分依赖管理只在 parent-pom 提供,但实际编译模块未被正确传递。
# 解决思路与关键修改
# 1. 补全依赖声明
直接在 ambari-infra-solr-plugin/pom.xml
中新增缺失依赖,确保以下组件被明确声明:
依赖名称 | 说明 | 备注 |
---|---|---|
solr-solrj | Solr客户端 | 版本与 solr-core 保持一致 |
hadoop-auth | Hadoop 认证 | 需适配当前 hadoop 版本 |
commons-collections | 通用集合工具 | 若 parent 已管理无需 version |
metrics-core / metrics-json / metrics-jvm | Dropwizard 监控 | codahale.metrics 新版包名为 io.dropwizard.metrics |
提示
完整依赖声明见下方 patch 片段,也可结合自己的实际 pom 文件做差异补全。
# 2. 修正 Makefile 构建参数
原构建脚本未全局加上 -Dmaven.test.skip=true
,建议补充,确保跳过所有测试阶段减少无效报错:
- $(MAVEN_BINARY) clean package -Dbuild-rpm -DskipTests -Djdk.version=$(INFRA_JAVA_VERSION) -Drat.skip=true -X
+ $(MAVEN_BINARY) clean package -Dbuild-rpm -DskipTests -Dmaven.test.skip=true -Djdk.version=$(INFRA_JAVA_VERSION) -Drat.skip=true
1
2
2
同理,deb
构建命令也建议统一处理。
# 3. 参考 Patch 补丁
下面为本次补丁核心变更,包含 Makefile 与 pom.xml 修改:
Subject: [PATCH] fixed: 解决编译报错问题
---
Index: Makefile
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/Makefile b/Makefile
--- a/Makefile (revision b2ecd84b31109c000c11f6c97c294524f4b9002d)
+++ b/Makefile (date 1749695557730)
@@ -32,10 +32,10 @@
$(MAVEN_BINARY) versions:set-property -Dproperty=revision -DnewVersion=$(new-version) -DgenerateBackupPoms=false -Djdk.version=$(INFRA_JAVA_VERSION)
rpm:
- $(MAVEN_BINARY) clean package -Dbuild-rpm -DskipTests -Djdk.version=$(INFRA_JAVA_VERSION) -Drat.skip=true -X
+ $(MAVEN_BINARY) clean package -Dbuild-rpm -DskipTests -Dmaven.test.skip=true -Djdk.version=$(INFRA_JAVA_VERSION) -Drat.skip=true
deb:
- $(MAVEN_BINARY) clean package -Dbuild-deb -DskipTests -Djdk.version=$(INFRA_JAVA_VERSION)
+ $(MAVEN_BINARY) clean package -Dbuild-deb -DskipTests -Dmaven.test.skip=true -Djdk.version=$(INFRA_JAVA_VERSION) -Drat.skip=true
docker-build:
$(MAVEN_BINARY) clean package docker:build -DskipTests -Dbuild-deb -Djdk.version=$(INFRA_JAVA_VERSION)
Index: ambari-infra-solr-plugin/pom.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/ambari-infra-solr-plugin/pom.xml b/ambari-infra-solr-plugin/pom.xml
--- a/ambari-infra-solr-plugin/pom.xml (revision b2ecd84b31109c000c11f6c97c294524f4b9002d)
+++ b/ambari-infra-solr-plugin/pom.xml (date 1749695615955)
@@ -28,6 +28,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>ambari-infra-solr-plugin</artifactId>
<dependencies>
+ <!-- Solr Core (已有) -->
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
@@ -39,21 +40,58 @@
</exclusion>
</exclusions>
</dependency>
+ <!-- Solr SolrJ (补全) -->
+ <dependency>
+ <groupId>org.apache.solr</groupId>
+ <artifactId>solr-solrj</artifactId>
+ <version>${solr.version}</version>
+ </dependency>
+ <!-- Jackson Databind (已有) -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
+ <!-- Ambari Metrics Common (已有) -->
<dependency>
<groupId>org.apache.ambari</groupId>
<artifactId>ambari-metrics-common</artifactId>
<version>${ambari-metrics.version}</version>
+ </dependency>
+ <!-- Hadoop Auth (补全) -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-auth</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
+ <!-- Commons Collections(已在父 pom managed,无需写 version) -->
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+ <!-- Dropwizard/Codahale Metrics -->
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-core</artifactId>
+ <version>4.1.2</version>
</dependency>
<dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-json</artifactId>
+ <version>4.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-jvm</artifactId>
+ <version>4.1.2</version>
+ </dependency>
+ <!-- Solr Test Framework (已有/测试) -->
+ <dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-test-framework</artifactId>
<version>${solr.version}</version>
<scope>test</scope>
</dependency>
+ <!-- Hamcrest (已有/测试) -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
- 01
- bigtop-select 打包缺 compat 报错修复 deb07-16
- 02
- bigtop-select 打包缺 control 文件报错修复 deb07-16
- 03
- 首次编译-环境初始化 必装07-16