java - 未能执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile)
问题描述
我知道这是一个重复的问题,但其他主题的答案对我没有帮助。
我正在使用 Eclipse Photon,Java 版本:10,我在 eclipse 和 pom.xml 文件中将 jdk/jre 版本设置为 10。我改变了 eclipse.ini 文件:
-Dosgi.requiredJavaVersion=10(设置为 1.8)
而且我还在我的 pom.xml 中添加了插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>10</source>
<target>10</target>
</configuration>
</plugin>
没有任何帮助。这是我的 pom.xml :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.luv2code</groupId>
<artifactId>spring-security-demo-06-user-roles</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>spring-security-demo</name>
<properties>
<maven.compiler.source>10</maven.compiler.source>
<maven.compiler.target>10</maven.compiler.target>
</properties>
<dependencies>
<!-- Spring Security -->
<!-- Spring Security WEB -->
<!-- Spring Security taglibs -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>5.1.1.RELEASE</version>
</dependency>
<!-- Spring MVC support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- Servlet, JSP and JSTL support -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- TO DO: Add support for Maven WAR Plugin -->
<build>
<finalName>spring-security-demo</finalName>
<pluginManagement>
<plugins>
<plugin>
<!-- Add Maven coordinates forL maven-war-plugin -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>10</source>
<target>10</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
类文件中没有读取依赖项,我也尝试删除 .m2 存储库并启动 Eclipse 并执行:Maven->Clean、Maven->install 和 Maven->update 项目。没有任何帮助。我现在真的被困在这里大约2-3个小时。
注意:在 Windows->Preferences->installed JRE's 中,jre10 被标记为勾号。我将其更改为标记jdk10。但仍然错误:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project spring-security-demo-06-user-roles: Compilation failure
一切正常,直到我添加了以下依赖项:spring-security-taglibs。
删除依赖项也不做任何事情。
解决方案
使用 Eclipse 中的项目版本和 Maven 的运行器版本检查正确设置。
我用maven-compiler plugin重现了同样的问题,但使用的是 3.8.1 版:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project testName: Fatal error compiling
我的 POM 是:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
澄清:
在项目中,我使用的是 Java 11 和 IntelijIDEA(但我认为 eclipse 的逻辑相同)。因此,仅当我的项目版本(正确检查项目结构-> 项目设置)对应于 Maven 运行程序的版本时,我才使用 Maven 生命周期阶段。
例如,如果运行器的版本适用于 java 8,但项目设置适用于 Java 11,那么我会收到此错误。如果我两者都一样,那么我没有任何问题。
我强烈建议检查 Maven 和整个项目的所有设置。它有助于避免将来出现问题。删除 maven 的文件夹是替代解决方案,但它必须是您需要做的最后一件事。
推荐阅读
- css - 来自 notistack 的 React Snackbar Compnent 无法在其 GUI 中处理长文本,因为在小窗口大小的情况下文本会消失
- javascript - 使用 FormGroup 时角度材料自动完成不起作用
- java - 在android上加载webview后没有显示插页式广告?
- java - Paho MQTT:找不到基本名称 org.eclipse.paho.client.mqttv3.internal.nls.logcat 的捆绑包
- proxy - Trickle ICE test page doesn't work or my setup is wrong?
- angular - angular2-highcharts 在 Angular 11 中不起作用
- neo4j - Py2neo push() 函数不更新 neo4j 中的节点
- ruby - Ruby Sinatra 编译错误:找不到服务器处理程序(thin、puma、reel、HTTP、webrick)。(运行时错误)
- spring-boot - 使用容器映像在 AWS Lambda 上运行 Spring boot graalvm 本机映像时出现问题
- ajax - Fuseki 查询 - 加载资源失败:服务器响应状态为 403(禁止)