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