2015-02-09 97 views
0

我正在嘗試在ppc64-64體系結構上構建一個maven項目。該項目在我的本地工作站(這是一個x86_64架構)上構建得很好。在PPC64上構建Maven項目

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project Client: ExecutionException: java.lang.LinkageError: org.apache.maven.surefire.booter.PropertiesWrapper -> [Help 1] org.apache.maven.lifecycle.LifecycleExecution: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project Client: ExecutionException. 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) 
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.LifecycleModuleRBuilder.buildProject(LifecycleModuleBuilder.java:108) 
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) 
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) 
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) 
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 
at java.lang.reflect.Method.invoke(Method.java:619) 
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: org.apache.maven.plugin.MojoFailureException: ExecutionException 
at org.apache.maven.plugin.surefire.SurefirePlugin.assertNoException(SurefirePlugin.java:203) 
at org.apache.maven.plugin.surefire.SurefirePlugin.handleSummary(SurefirePlugin.java:193) 
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:861) 
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:729) 
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
... 19 more 
Caused by: org.apache.maven.surefire.booter.SurefireBooterForkException: ExecutionException 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkPerTestSet(ForkStarter.java:316) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:169) 
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:967) 
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:831) 
... 22 more 
Caused by: java.util.concurrent.ExecutionExeception: java.lang.LinkageError: org.apache.maven.surefire.shade.org.apache.maven.shared.utils.Os 
at java.util.concurrent.FutureTask.report(FutureTask.java:133) 
at java.util.concurrent.FutureTask.get(FutureTask.java:199) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkPerTestSet(ForkStarter.java:300) 
… 25 more 
Caused by: java.lang.LinkageError: org.apache.maven.surefire.shade.org.apache.maven.shared.utils.Os 
at java.lang.Classloader.defineClassImpl(Native Method) 
at java.lang.Classloader.defineClass(ClassLoader.java:364) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:777) 
at java.net.URLClassLoader.access$400(URLClassLoader.java:96) 
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1225) 
at java.security.AccessController.doPrivileged(AccessController.java:366) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:660) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:389) 
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227) 
at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.Commandline.setDefaultShell(Commandline.java:131) 
at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.Commandline.<init>(Commandline.java:121) 
at org.apache.maven.plugin.surefire.booterclient.ForkConfiguration.createCommandLine(ForkConfiguration.java:148) 
at org.apache.maven.plugin.surefire.booterclient.ForkConfiguration.createCommandLine(ForkConfiguration.java:137) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:406) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:352) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.access$300(ForkStarter.java:85) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter$2.call(ForkStarter.java:288) 
at org.apache.maven.plugin.surefire.booterclient.ForkStarter$2.call(ForkStarter.java:283) 
at java.util.concurrent.FutureTask.run(FutureTask.java:273) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1170) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:640) 
at java.lang.Thread.run(Thread.java:853) 

錯誤消息後,它說我應該讀MojoFailureExeception維基(我做到了):當我嘗試建立它引發以下錯誤。它說我應該閱讀surefire的文檔(我做過)。我沒有看到任何有用的東西。

如果我嘗試構建沒有測試的項目,它編譯得很好。

底線是我從來沒有做過這樣的事情,我甚至不確定是否有可能爲x86構建一個Maven Java項目,並將它編譯並運行在PPC64體系結構上。任何人可以給的提示或指針將不勝感激。

+0

Pleasae後完整的錯誤消息,並不僅摘錄看看5.4.8節。 – khmarbaise 2015-02-09 15:11:55

回答

0

如果這個軟件包已被其他發行版提供,那麼爲ppc64構建maven有什麼動機?

我只是檢查了我的Ubuntu 14.10電源

[email protected]:~$ cat /proc/cpuinfo | grep model 
model  : 8247-22L 

[email protected]:~$ apt-cache search maven | grep ^maven 
maven-ant-helper - helper scripts for building Maven components with ant 
maven-repo-helper - Helper tools for including Maven metadata in Debian packages 
maven - Java software project management and comprehension tool 
maven-debian-helper - Helper tools for building Debian packages with Maven 
maven2 - Java software project management and comprehension tool 

這也表明了maven2是架構依賴於Debian和Ubuntu,所以,包裝爲任何架構是相同的,因此,不需要編譯:

[email protected]:~$ apt-cache show maven2 | grep ^Architecture 
Architecture: all 

Debian Policy