在PPC64上构建Maven项目

时间:2015-02-09 14:17:04

标签: java maven

我正在尝试在ppc64-64架构上构建一个maven项目。该项目在我的本地工作站(这是一个x86_64架构)上构建得很好。当我尝试构建时,它会抛出以下错误:

    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 wiki(我做过)。它说我应该阅读surefire的文件(我做过)。我没有看到任何有用的东西。

如果我尝试在没有测试的情况下构建项目,那么它编译得很好。

最重要的是,我之前从未做过这样的事情,我甚至不确定是否可以采用为x86构建的Maven Java项目并让它在PPC64架构上编译和运行。任何人都可以给出的提示或指示将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果这个软件包已被其他发行版提供,那么为ppc64构建maven的动机是什么?

我刚刚查看了我的Ubuntu 14.10 for Power

brenohl@sid:~$ cat /proc/cpuinfo   | grep model
model       : 8247-22L

brenohl@sid:~$ 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上是独立于架构的,因此,对于任何架构,包都是相同的,因此,不需要编译:

brenohl@sid:~$ apt-cache show maven2 | grep ^Architecture
Architecture: all

请参阅Debian Policy

处的第5.4.8节
相关问题