2016-03-14 2 views
0

Я создал новый мастер проекта с простой структурой каталога maven в Eclipse с Xtext 2.9.1. Я могу запустить «mvn clean install» внутри eclipse, но когда я пытаюсь запустить его из командной строки (я использую Windows 7). Я получаю следующую ошибку. В нем говорится, что в Maven есть ошибка. Какие-либо предложения? Спасибо.mvn clean install не работает из командной строки, но отлично работает в eclipse

[WARNING] Error injecting: org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant 
java.lang.TypeNotPresentException: Type org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant 
not present 
     at org.eclipse.sisu.reflect.URLClassSpace.loadClass(URLClassSpace.java:108) 
     at org.eclipse.sisu.reflect.NamedClass.load(NamedClass.java:44) 
     at org.eclipse.sisu.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:44) 
     at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java 
:86) 
     at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactor 
yToInitializableAdapter.java:55) 
     at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70 
) 
     at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionLi 
stenerStackCallback.java:100) 
     at org.eclipse.sisu.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleMana 
ger.java:134) 
     at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionLi 
stenerStackCallback.java:109) 
     at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStac 
kCallback.java:55) 
     at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.ja 
va:68) 
     at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToIni 
tializableAdapter.java:47) 
     at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFact 
oryAdapter.java:46) 
     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054) 
     at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactory 
Adapter.java:40) 
     at com.google.inject.Scopes$1$1.get(Scopes.java:59) 
     at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProvider 
Adapter.java:41) 
     at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997) 
     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047) 
     at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993) 
     at org.eclipse.sisu.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:82) 
     at org.eclipse.sisu.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:52) 
     at org.eclipse.sisu.locators.EntryListAdapter$ValueIterator.next(EntryListAdapter.java:111) 
     at java.util.AbstractCollection.addAll(AbstractCollection.java:305) 
     at org.apache.maven.DefaultMaven.getLifecycleParticipants(DefaultMaven.java:540) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:268) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) 
Caused by: java.lang.UnsupportedClassVersionError: org/eclipse/tycho/core/maven/TychoMavenLifecycleP 
articipant : Unsupported major.minor version 51.0 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
     at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386) 
     at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.ja 
va:42) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
     at org.eclipse.sisu.reflect.URLClassSpace.loadClass(URLClassSpace.java:100) 
     ... 37 more 
[ERROR] Internal error: com.google.inject.ProvisionException: Guice provision errors: 
[ERROR] 
[ERROR] 1) Error in custom provider, java.lang.TypeNotPresentException: Type org.eclipse.tycho.core. 
maven.TychoMavenLifecycleParticipant not present 
[ERROR] at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.23.1, parent: sun.misc.Launch 
[email protected]] 
[ERROR] at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.23.1, parent: sun.misc.Launch 
[email protected]] 
[ERROR] while locating org.apache.maven.AbstractMavenLifecycleParticipant annotated with @com.google 
.inject.name.Named(value=TychoMavenLifecycleListener) 
[ERROR] 
[ERROR] 1 error: org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant : Unsupported major.min 
or version 51.0 
[ERROR] -> [Help 1] 
org.apache.maven.InternalErrorException: Internal error: com.google.inject.ProvisionException: Guice 
provision errors: 

1) Error in custom provider, java.lang.TypeNotPresentException: Type org.eclipse.tycho.core.maven.Ty 
choMavenLifecycleParticipant not present 
    at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.23.1, parent: sun.misc.Launcher$App 
[email protected]] 
    at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.23.1, parent: sun.misc.Launcher$App 
[email protected]] 
    while locating org.apache.maven.AbstractMavenLifecycleParticipant annotated with @com.google.injec 
t.name.Named(value=TychoMavenLifecycleListener) 

1 error 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:165) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) 
Caused by: com.google.inject.ProvisionException: Guice provision errors: 

1) Error in custom provider, java.lang.TypeNotPresentException: Type org.eclipse.tycho.core.maven.Ty 
choMavenLifecycleParticipant not present 
    at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.23.1, parent: sun.misc.Launcher$App 
[email protected]] 
    at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.23.1, parent: sun.misc.Launcher$App 
[email protected]] 
    while locating org.apache.maven.AbstractMavenLifecycleParticipant annotated with @com.google.injec 
t.name.Named(value=TychoMavenLifecycleListener) 

1 error 
     at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1006) 
     at org.eclipse.sisu.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:82) 
     at org.eclipse.sisu.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:52) 
     at org.eclipse.sisu.locators.EntryListAdapter$ValueIterator.next(EntryListAdapter.java:111) 
     at java.util.AbstractCollection.addAll(AbstractCollection.java:305) 
     at org.apache.maven.DefaultMaven.getLifecycleParticipants(DefaultMaven.java:540) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:268) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) 
     ... 11 more 
Caused by: java.lang.TypeNotPresentException: Type org.eclipse.tycho.core.maven.TychoMavenLifecycleP 
articipant not present 
     at org.eclipse.sisu.reflect.URLClassSpace.loadClass(URLClassSpace.java:108) 
     at org.eclipse.sisu.reflect.NamedClass.load(NamedClass.java:44) 
     at org.eclipse.sisu.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:44) 
     at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java 
:86) 
     at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactor 
yToInitializableAdapter.java:55) 
     at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70 
) 
     at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionLi 
stenerStackCallback.java:100) 
     at org.eclipse.sisu.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleMana 
ger.java:134) 
     at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionLi 
stenerStackCallback.java:109) 
     at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStac 
kCallback.java:55) 
     at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.ja 
va:68) 
     at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToIni 
tializableAdapter.java:47) 
     at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFact 
oryAdapter.java:46) 
     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054) 
     at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactory 
Adapter.java:40) 
     at com.google.inject.Scopes$1$1.get(Scopes.java:59) 
     at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProvider 
Adapter.java:41) 
     at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997) 
     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047) 
     at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993) 
     ... 18 more 
Caused by: java.lang.UnsupportedClassVersionError: org/eclipse/tycho/core/maven/TychoMavenLifecycleP 
articipant : Unsupported major.minor version 51.0 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
     at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386) 
     at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.ja 
va:42) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
     at org.eclipse.sisu.reflect.URLClassSpace.loadClass(URLClassSpace.java:100) 
     ... 37 more 
[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 arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorException 
+0

'Unsupported major.minor version 51.0', вы, вероятно, используете другую JRE/JDK из командной строки. Является ли JRE/JDK по умолчанию в командной строке тем же, что и в Eclipse? –

+0

Да, я только что проверил. Они такие же. – user3013449

+0

Не могли бы вы предоставить вам файл pom.xml? –

ответ

1

java.lang.UnsupportedClassVersionError происходит из-за более высокой JDK во время компиляции и нижней JDK во время выполнения.

Чтобы исправить настоящую проблему, попробуйте либо запустить Java-код с более новой версией Java JRE, либо указать целевой параметр компилятору Java, чтобы дать команду компилятору создать код, совместимый с более ранними версиями Java.

Например, для того, чтобы сгенерировать класс файлы, совместимые с Java 1.7, используйте следующую команду:

javac -target 1.7 HelloWorld.java 

С новыми версиями компилятора Java вы, вероятно, получите предупреждение о пути самозагрузки класса не устанавливается. Более подробную информацию об этой ошибке можно получить в oracle blog post.

Другое хорошее объяснение, как исправить вашу проблему here.