gpt4 book ai didi

java - 无法在项目 produit-webapp 上执行目标 org.apache.maven.plugins :maven-compiler-plugin:3. 1:compile (default-compile)

转载 作者:行者123 更新时间:2023-11-30 06:08:18 26 4
gpt4 key购买 nike

我有一个 web 应用程序,我尝试使用 maven 进行编译,不幸的是,在执行 mvn clean package 时它不起作用。 stackoverflow 上有很多问题看起来都一样,但没有解决了我的问题。

我仔细检查了 JAVA_HOME + Maven 编译插件的目标和源的Java 版本是否相同(设置为 1.7)。

我尝试升级和降级maven编译插件没有成功

不幸的是,不可能将我的 pom.xml 放在这里,因为它有 +1500 行长。

在我向 produit-webapp 添加新的 Maven 模块(具有 Firebase 作为依赖项)后,发生此错误。该模块编译良好。

使用完整的调试日志记录运行它时得到的错误输出:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project produit-webapp: Compilation failure -> [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 produit-webapp: Compilation failure
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.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
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.compiler.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:862)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more

最佳答案

您可能想要查看您的网络应用程序的依赖项(在 pom.xml 中)。您说您的 pom.xml 非常长,我猜它之前可以与其他模块一起使用,并且您添加了一个新模块。

如果是这样,您应该尝试删除对新模块的依赖关系。如果编译正常,那么至少您知道它来自哪里。

<小时/>

要进行进一步调查,请在您的网络应用中添加新模块,然后删除新模块内的依赖项。将依赖项一一添加回去,以找到导致问题的依赖项。

找到罪魁祸首依赖项后,查看该依赖项的依赖项是什么(在 Eclipse 中的依赖项上 ctrl + left click 以打开相关的 pom.xml )并执行与之前相同的操作:删除依赖项并将它们添加回来以查找是什么导致了这个问题。

如何正确删除依赖项:

您应该使用<exclusion>标记而不仅仅是注释掉依赖关系,请参阅 this有关如何执行此操作的页面。

如果您有很多依赖项,则逐一排除模块可能会很长,因此您可以通过删除一半并查看它是否正在编译来更快地完成。如果它没有编译,则意味着罪魁祸首依赖项位于另一半内部。尝试使用应该编译的另一半。重复这部分的一半,直到找到负责的人(有点像 binary search )

<小时/>

此解决方案仅推荐以查找问题的根源。它会在编译时消除错误,但您的 Web 应用程序可能会在运行时抛出错误,因为它需要您删除的依赖项!

关于java - 无法在项目 produit-webapp 上执行目标 org.apache.maven.plugins :maven-compiler-plugin:3. 1:compile (default-compile),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50819768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com