在Spring boot pom.xml中指定java 1.8 JDK路径,而不将java_home设置为1.8版本

在Spring boot pom.xml中指定java 1.8 JDK路径,而不将java_home设置为1.8版本,java,spring-boot,pom.xml,Java,Spring Boot,Pom.xml,嗨,我有一个多模块的项目,我需要添加一个新的模块,这是一个SPRING启动应用程序。所有其他模块都在java 1.6版上运行,但我需要用java 1.8运行Spring引导模块。问题是我无法将JAVA_HOME从1.6更改为1.8。我需要在Spring boot应用程序的POM.xml中指定Java位置 我试图在POM.xml中提供编译器的JDK路径和版本,但我遇到了不支持的错误,主要问题如下: **org.apache.maven.plugin.internal.DefaultMavenPlu

嗨,我有一个多模块的项目,我需要添加一个新的模块,这是一个SPRING启动应用程序。所有其他模块都在java 1.6版上运行,但我需要用java 1.8运行Spring引导模块。问题是我无法将JAVA_HOME从1.6更改为1.8。我需要在Spring boot应用程序的POM.xml中指定Java位置

我试图在POM.xml中提供编译器的JDK路径和版本,但我遇到了不支持的错误,主要问题如下:

**org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:494)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:119)
... 20 more
Caused by: java.lang.UnsupportedClassVersionError: org/apache/maven/plugins/clean/CleanMojo : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)**
这是我正在使用的POM

 <?xml version="1.0" encoding="UTF-8"?>
    <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 https://maven.apache.org/xsd/maven- 
     4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.2.RELEASE</version>
    <relativePath/>
    </parent>
    <groupId>com.data.service.risk</groupId>
    <artifactId>DataService</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>DataService</name>
    <description>Data service Project</description>
    
    <properties>
    <jdk.version>8</jdk.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <jdk>C:\software\tools\Java\jdk1.8.0_121</jdk>
    </properties>
    
    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>2.2.2.RELEASE</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.3.RELEASE</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.2</version>
    </dependency>
    
    
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.2.2.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <version>2.2.2.RELEASE</version>
    <scope>test</scope>
    <exclusions>
    <exclusion>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
    
    <!-- this is a java 6 compiled dependency-->
    <dependency>
    <groupId>com.test.data.risk</groupId>
    <artifactId>java_6_project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty</artifactId>
    <version>6.1.19</version>
    <exclusions>
    <exclusion>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>servlet-api</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
    </dependency>
    
    
    </dependencies>
    
    
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <configuration>
    <jvm>C:\software\tools\Java\jdk1.8.0_121\bin\java</jvm>
    <forkMode>once</forkMode>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <executable>C:\software\tools\Java\jdk1.8.0_121\bin\javac</executable>
    <fork>true</fork>
    </configuration>
    </plugin>
    
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    
    </plugin>
    </plugins>
    </build>    
    </project>

4.0.0
org.springframework.boot
spring启动程序父级
2.2.2.1发布
com.data.service.risk
数据服务
0.0.1-快照
数据服务
数据服务项目
8.
1.8
1.8
C:\software\tools\Java\jdk1.8.0\u 121
org.springframework.boot
弹簧启动安全
2.2.2.1发布
org.springframework
spring上下文
5.2.3.1发布
org.springframework
德克萨斯州春季
5.2.3.1发布
com.google.code.gson
格森
2.8.2
org.springframework.boot
SpringBootStarterWeb
2.2.2.1发布
org.springframework.boot
弹簧起动试验
2.2.2.1发布
测试
org.junit.vintage
朱尼特老式发动机
com.test.data.risk
java_6_项目
0.0.1-快照
org.mortbay.jetty
码头
6.1.19
org.mortbay.jetty
servlet api
org.projectlombok
龙目
1.18.12
假如
org.apache.maven.plugins
maven surefire插件
2.18.1
C:\software\tools\Java\jdk1.8.0\u 121\bin\Java
一旦
org.apache.maven.plugins
maven编译器插件
3.2
1.8
1.8
C:\software\tools\Java\jdk1.8.0\u 121\bin\javac
真的
org.springframework.boot
springbootmaven插件

请告诉我如何在POM.xml中指定JDK位置,而不将Spring Boot应用程序的JAVA_HOME设置为JAVA 1.8

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>

org.apache.maven.plugins


这很简单。尝试将以下属性添加到pom.xml。 注意,我添加了Java11。您可以添加所需的版本

<properties>
    <jdk.version>11</jdk.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>

11
11
11
还添加以下指定JDK路径的插件。例如: C:\ProgramFiles\Java\jdk-11.0.6\bin\javac

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
      <verbose>true</verbose>
      <fork>true</fork>
      <executable><!-- path-to-javac --></executable>
      <compilerVersion>1.3</compilerVersion>
    </configuration>
  </plugin>
</plugins>

org.apache.maven.plugins

嗨,我已经试过了,但还是出现了同样的错误。问题是我的JAVA_主页指向JAVA版本1.6。我只需要为这个特定的项目使用Java8,我不能将java_HOME更改为1.8