簡體   English   中英

出現錯誤注入錯誤:org.jacoco.maven.AgentMojo 而 maven 構建

[英]Getting error Error injecting: org.jacoco.maven.AgentMojo while maven build

我正在嘗試構建一個 maven 項目,但它給了我以下錯誤。

java.lang.NoClassDefFoundError: org/jacoco/core/runtime/AgentOptions

[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.7.9:prepare-agent (agent) on project app: Execution agent of goal org.jacoco:ja
coco-maven-plugin:0.7.9:prepare-agent failed: A required class was missing while executing org.jacoco:jacoco-maven-plugin:0.7.9:prepare-agent: org/jacoc
o/core/runtime/AgentOptions
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.jacoco:jacoco-maven-plugin:0.7.9
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/t/.m2/repository1/org/jacoco/jacoco-maven-plugin/0.7.9/jacoco-maven-plugin-0.7.9.jar
[ERROR] urls[1] = file:/C:/Users/t/.m2/repository1/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : org.jacoco.core.runtime.AgentOptions
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[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/PluginContainerException

即使我在 maven repo 中有 jacoco-maven-plugin:0.7.9 和 org.jacoco.core-0.7.9 ,它也會給出這個錯誤。

我正在使用 mvn clean install 命令來構建應用程序。 此外,我還嘗試使用 -U 標志進行構建

最后,當我使用 -X 選項構建它時,我看到下面的堆棧跟蹤

    [INFO] --- jacoco-maven-plugin:0.7.9:prepare-agent (agent) @ ncso-app-pso ---
[DEBUG] Skipped remote request for org.jacoco:jacoco-maven-plugin:pom:0.7.9, already updated during this session.
[WARNING] The POM for org.jacoco:jacoco-maven-plugin:jar:0.7.9 is missing, no dependency information available
[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=50400, ConflictMarker.markTime=25500, ConflictMarker.nodeCount=1, ConflictIdSorter.grap
hTime=7100, ConflictIdSorter.topsortTime=12700, ConflictIdSorter.conflictIdCount=1, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=
56700, ConflictResolver.conflictItemCount=1, DefaultDependencyCollector.collectTime=8846200, DefaultDependencyCollector.transformTime=181500}
[DEBUG] org.jacoco:jacoco-maven-plugin:jar:0.7.9:
[DEBUG]    org.codehaus.plexus:plexus-utils:jar:1.1:runtime
[DEBUG] Created new class realm plugin>org.jacoco:jacoco-maven-plugin:0.7.9
[DEBUG] Importing foreign packages into class realm plugin>org.jacoco:jacoco-maven-plugin:0.7.9
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.jacoco:jacoco-maven-plugin:0.7.9
[DEBUG]   Included: org.jacoco:jacoco-maven-plugin:jar:0.7.9
[DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:1.1
[DEBUG] Configuring mojo org.jacoco:jacoco-maven-plugin:0.7.9:prepare-agent from plugin realm ClassRealm[plugin>org.jacoco:jacoco-maven-plugin:0.7.9, pa
rent: sun.misc.Launcher$AppClassLoader@5c647e05]
[WARNING] Error injecting: org.jacoco.maven.AgentMojo
java.lang.NoClassDefFoundError: org/jacoco/core/runtime/AgentOptions
    at java.lang.Class.getDeclaredMethods0 (Native Method)
    at java.lang.Class.privateGetDeclaredMethods (Class.java:2701)
    at java.lang.Class.getDeclaredMethods (Class.java:1975)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints (InjectionPoint.java:688)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields (InjectionPoint.java:380)
    at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies (ConstructorBindingImpl.java:164)
    at com.google.inject.internal.InjectorImpl.getInternalDependencies (InjectorImpl.java:613)
    at com.google.inject.internal.InjectorImpl.cleanup (InjectorImpl.java:569)
    at com.google.inject.internal.InjectorImpl.initializeJitBinding (InjectorImpl.java:555)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding (InjectorImpl.java:884)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive (InjectorImpl.java:805)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding (InjectorImpl.java:282)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow (InjectorImpl.java:214)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow (InjectorImpl.java:1006)
    at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1038)
    at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1001)
    at com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1051)
    at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:48)
    at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:81)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:53)
    at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:65)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:115)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:133)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:68)
    at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:63)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$2$1.call (InjectorImpl.java:1016)
    at com.google.inject.internal.InjectorImpl.callInContext (InjectorImpl.java:1092)
    at com.google.inject.internal.InjectorImpl$2.get (InjectorImpl.java:1012)
    at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:81)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:51)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:263)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:255)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:519)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:124)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    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.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:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    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:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: java.lang.ClassNotFoundException: org.jacoco.core.runtime.AgentOptions
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239)
    at java.lang.Class.getDeclaredMethods0 (Native Method)
    at java.lang.Class.privateGetDeclaredMethods (Class.java:2701)
    at java.lang.Class.getDeclaredMethods (Class.java:1975)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints (InjectionPoint.java:688)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields (InjectionPoint.java:380)
    at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies (ConstructorBindingImpl.java:164)
    at com.google.inject.internal.InjectorImpl.getInternalDependencies (InjectorImpl.java:613)
    at com.google.inject.internal.InjectorImpl.cleanup (InjectorImpl.java:569)
    at com.google.inject.internal.InjectorImpl.initializeJitBinding (InjectorImpl.java:555)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding (InjectorImpl.java:884)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive (InjectorImpl.java:805)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding (InjectorImpl.java:282)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow (InjectorImpl.java:214)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow (InjectorImpl.java:1006)
    at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1038)
    at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1001)
    at com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1051)
    at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:48)
    at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:81)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:53)
    at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:65)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:115)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:133)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:68)
    at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:63)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$2$1.call (InjectorImpl.java:1016)
    at com.google.inject.internal.InjectorImpl.callInContext (InjectorImpl.java:1092)
    at com.google.inject.internal.InjectorImpl$2.get (InjectorImpl.java:1012)
    at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:81)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:51)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:263)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:255)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:519)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:124)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    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.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:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    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:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)

您可以使用參數-X運行 maven 構建命令以啟用調試日志記錄。 使用此 output 您現在可以在日志中看到以下行:

[WARNING] The POM for org.jacoco:jacoco-maven-plugin:jar:0.7.9 is missing, no dependency information available

通常 class AgentOptionsorg.jacoco.core加載,這是插件的依賴項。 但是沒有 pom 文件,maven 構建過程不知道這一點,即使您的本地存儲庫中有 jar 文件,由於缺少 pom 文件,它也不會被使用。

在我的本地 m2 中,我確實有以下 pom 文件: .m2\repository\org\jacoco\jacoco-maven-plugin\0.7.9\jacoco-maven-plugin-0.7.9.pom 這使我相信您下載的副本有問題。

我已經通過刪除插件 pom 文件的本地副本中的dependencies項列表來驗證這會導致問題,然后我在構建過程中收到相同的錯誤消息。

作為一種解決方案,您可以清除.m2\repository\org\jacoco\的內容並再次嘗試構建,然后應從 maven 中心再次下載所有正確的插件文件和依賴項。

我們還可以看到[DEBUG] Skipped remote request for org.jacoco:jacoco-maven-plugin:pom:0.7.9, already updated during this session. ,這可能表明下載 pom 文件時出現問題。 .m2\repository\org\jacoco\jacoco-maven-plugin\0.7.9\_remote.repositories中是否有任何錯誤?

是嘗試從central下載,還是您有任何可能沒有完整 pom 文件的自定義pluginRepositories 您可以通過運行mvn help:effective-pom查看整個 pom 文件。

通常這應該包括來自super pom的以下內容:

  <pluginRepositories>
    <pluginRepository>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
    </pluginRepository>
  </pluginRepositories>

更極端的措施可能是下載更新版本的 maven,或清除整個本地.m2 (如果您有重要文件,請創建備份)。

這些將是尋求解決此問題的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM