【问题标题】:maven-compiler-plugin:3.1:compile failed. NullPointerExceptionmaven-compiler-plugin:3.1:compile 失败。空指针异常
【发布时间】:2017-02-01 13:16:15
【问题描述】:

我使用 maven-compiler-plugin:3.1 得到 NullPointerException。我在 SOF 上调查过类似的问题,但没有成功。

我运行的命令mvn compile

ma​​ven 环境

Apache Maven 3.0.3 (rNON-CANONICAL_2011-12-28_13-22_mein; 2011-12-28 13:22:36-0600)
Maven home: /soft/maven/3.0.3
Java version: 1.6.0_38, vendor: Sun Microsystems Inc.
Java home: /soft/jdk1.6.0_38-arch/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-83-generic", arch: "amd64", family: "unix"

(它使用的是 1.6,因为这是项目需要的,一个遗留项目)

错误信息

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project wikibrain-utils: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project wikibrain-utils: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile failed.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
    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:319)
    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)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile failed.
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: java.lang.NullPointerException
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.hasNewFile(AbstractCompilerMojo.java:1198)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.isDependencyChanged(AbstractCompilerMojo.java:1166)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:648)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    ... 20 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :wikibrain-utils

【问题讨论】:

  • 3.1 已经很老了。使用最新的 3.5.1,并尝试发布一个minimal reproducible example 的问题。
  • 不要使用 Maven 3.0.3,这确实是错误的。使用更新的版本,如 3.3.9 ...

标签: java maven maven-compiler-plugin


【解决方案1】:

在 Windows 上编译到 SMB 共享(在 NAS 上)时遇到同样的问题。

从 3.7.0 更新到 3.8.0 修复了它。

        <artifactId>maven-compiler-plugin</artifactId>
        <groupId>org.apache.maven.plugins</groupId>
        <version>3.8.0</version>

这是我得到的堆栈跟踪的一部分,以防它帮助其他人找到相同的问题。

原因:java.lang.NullPointerException 在 org.apache.maven.plugin.compiler.AbstractCompilerMojo.hasNewFile (AbstractCompilerMojo.java:1574)

【讨论】:

    【解决方案2】:

    我已经解决了这个问题 - 它恰好是文件权限问题。

    艾伦

    【讨论】:

    • 哪个文件需要权限?/
    猜你喜欢
    • 2020-06-24
    • 2017-04-18
    • 2022-01-04
    • 2021-04-18
    • 1970-01-01
    • 2017-02-18
    • 2018-09-15
    • 2017-07-20
    • 2015-06-13
    相关资源
    最近更新 更多