我收到以下错误消息:源选项5不再受支持,请使用7或更高版本

laximzn5  于 2022-10-05  发布在  Maven
关注(0)|答案(3)|浏览(471)

我的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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.bharath</groupId>
  <artifactId>hellomaven</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>hellomaven</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

我收到以下错误

无法在项目hellomaven上执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:compile(默认编译):编译失败:编译失败:

[错误]不再支持源选项5。使用7或更高版本。

[错误]不再支持目标选项5。使用7或更高版本。

[Error][Help 1][http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException](http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException)‘cmd’未被识别为内部或外部命令,

如果我尝试将以下代码添加到pom.xml文件中

<properties>
<maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>16</maven.compiler.target>
</properties>

我的错误越来越小了

项目(C:\USERS\Doddi Girish\hellomaven\pom.xml)有一个错误无法解析的POM C:\USERS\Doddi Girish\hellomaven\pom.xml:Epilog中不允许使用开始标记,但得到了p(位置:看到end_tag...\r\n\r\n<p...@19:3)@第19行第3列->我的属性代码从第19行开始。我的整个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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.bharath</groupId>
  <artifactId>hellomaven</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>hellomaven</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
<properties>
   <maven.compiler.source>16</maven.compiler.source>
   <maven.compiler.target>16</maven.compiler.target>
 </properties>

帮我弄一下这个。

先谢谢你

r7s23pms

r7s23pms1#

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.bharath</groupId>
  <artifactId>hellomaven</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>hellomaven</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

属性应位于项目内部!

<properties>
   <maven.compiler.source>16</maven.compiler.source>
   <maven.compiler.target>16</maven.compiler.target>
 </properties>
qij5mzcb

qij5mzcb2#

<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/maven-v4_0_0.xsd">
.
.
.
<properties>
   <maven.compiler.source>16</maven.compiler.source>
   <maven.compiler.target>16</maven.compiler.target>
 </properties>
</project>

属性应位于项目内

lxkprmvk

lxkprmvk3#

看起来,如果不指定编译器,Maven会求助于使用默认编译器。如果你没有安装它,那么你就会有问题。我学习的课程从他们的POM文件中省略了<properties></properties>标签。我不得不添加这些(在<project></project>标记内),以防止MVN抛出“不再支持源选项5。使用7或更高版本。”例外。

此链接内容丰富。

https://maven.apache.org/plugins/maven-compiler-plugin/

...从中我们学到了...
还要注意,目前缺省的源设置是1.7,缺省的目标设置是1.7,与运行Maven的JDK无关。强烈建议您通过设置源和目标来更改这些缺省值,如设置Java编译器的-源和-目标中所述。

在命令行中快速检查...

java --version
java 18.0.2 2022-07-19
Java(TM) SE Runtime Environment (build 18.0.2+9-61)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.2+9-61, mixed mode, sharing)

..然后..。

mvn --version
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: C:apache-maven-3.8.6
Java version: 18.0.2, vendor: Oracle Corporation, runtime: C:Program FilesJavajdk-18.0.2
Default locale: en_GB, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

因此,尽管Maven和Java看起来很和谐,但Maven的默认源/目标设置需要对POM文件进行mod...

<properties>
   <maven.compiler.source>18</maven.compiler.source>
   <maven.compiler.target>18</maven.compiler.target>
 </properties>

...我们已经开始运作了.

或者,我们可以修改编译器插件。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <source>18</source>
                <target>18</target>
            </configuration>
        </plugin>
    </plugins>
</build>

如果一个根目录挂起了多个项目,您可能还想研究一下如何设置主/超级POM。

相关问题