Maven 3 + maven-php-plugin + PHPUnit 无法提取 phar


Maven 3 + maven-php-plugin + PHPUnit can not extract phar

我正在尝试清理并构建一个 maven php 项目,我的 pom 文件中有以下代码片段:

<build>
    <plugins>
        <plugin>
            <groupId>org.phpmaven</groupId>
            <artifactId>maven-php-plugin</artifactId>
    <version>2.0.0</version>
            <extensions>true</extensions>
            <configuration>
                <ignoreIncludeErrors>true</ignoreIncludeErrors>
                <ignoreValidate>true</ignoreValidate>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>de.phpunit</groupId>
        <artifactId>PHPUnit</artifactId>
        <version>3.6.10</version>
    <type>phar</type>
        <scope>test</scope>
    </dependency>
</dependencies>

但我不断收到以下错误:

org.apache.maven.lifecycle.LifecycleExecutionException: 无法执行目标 org.phpmaven:maven-php-plugin:2.0.0:extractTestDependencies (default-extractTestDependencies) on project MediaWikiTestClasses: 执行 unphar 脚本时出错。无法提取/home/demo/.m2/repository/de/phpunit/PHPUnit/3.6.7/PHPUnit-3.6.7.phar at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 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:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 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:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)由以下原因引起:org.apache.maven.plugin.MojoExecutionException:执行unphar script时出错。无法提取/home/demo/.m2/repository/de/phpunit/PHPUnit/3.6.7/PHPUnit-3.6.7.phar at org.phpmaven.plugin.build.AbstractPhpExtractMojo.execute(AbstractPhpExtractMojo.java:76) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ...19 更多由以下原因引起:java.io.IOException:执行非phar 脚本时出错。无法提取/home/demo/.m2/repository/de/phpunit/PHPUnit/3.6.7/PHPUnit-3.6.7.phar at org.phpmaven.plugin.build.FileHelper.unphar(FileHelper.java:164) at org.phpmaven.plugin.build.FileHelper.unzipElements(FileHelper.java:123) at org.phpmaven.plugin.php.PhpMojoHelper.prepareDependencies(PhpMojoHelper.java:368) at org.phpmaven.plugin.build.AbstractPhpExtractMojo.execute(AbstractPhpExtractMojo.java:70) ...21 更多

谁能帮忙?

可能的解决方案:- 您的 php 可执行文件知道 phar 文件?也许您需要升级。- 您的 php 可执行文件在路径上可用?使用控制台(PHP 命令)进行测试。

如果这没有帮助,您应该查看调试输出(-X 标志)。是否有任何其他堆栈跟踪条目?