Elastic-Job-Lite 项目编译问题

来源:互联网 发布:淘宝开店人工客服电话 编辑:程序博客网 时间:2024/05/23 15:41

Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。

Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。 

项目地址:https://github.com/dangdangdotcom/elastic-job

本人在打包编译此项目时遇到到下面的问题:

[WARNING] Error injecting: org.apache.maven.plugin.resources.ResourcesMojojava.lang.NoClassDefFoundError: Lorg/sonatype/plexus/build/incremental/BuildContext;at java.lang.Class.getDeclaredFields0(Native Method)at java.lang.Class.privateGetDeclaredFields(Class.java:2583)at java.lang.Class.getDeclaredFields(Class.java:1916)at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:675)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.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81)at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)at org.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)at org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)at org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:140)at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:89)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.ConstructorInjector.construct(ConstructorInjector.java:87)at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)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 org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176)at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)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:517)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)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)at org.codehaus.classworlds.Launcher.main(Launcher.java:47)Caused by: java.lang.ClassNotFoundException: org.sonatype.plexus.build.incremental.BuildContextat 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)... 94 more

 百度后,发现是maven资源插件的问题,解决方法如下:

1、 在项目的根目录下的pom.xml里找到下面内容:

<maven-resources-plugin.version>2.7</maven-resources-plugin.version>

2、将上面的内容替换为:

<maven-resources-plugin.version>2.6</maven-resources-plugin.version>

3、重新编译没问题了。


原创粉丝点击