我使用Eclipse中的Spring Dashboard来创建项目。我也尝试使用Spring Initializr创建它并尝试了java的版本8和9,但我仍然得到它。还试图改变maven目标。运行配置,maven build使用JavaSE1.8,jre 1.8.0。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RC2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>9</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
命令:
javac version: 9.0.4
Apache Maven 3.5.2
Maven home: C:\Users\arito\Desktop\apache-maven-3.5.2\bin\..
Java version: 1.8.0_152, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_152\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
答案 0 :(得分:1)
对于遇到此问题的任何人,此How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9解决了这个问题。
感谢wemu
答案 1 :(得分:0)
严重错误编译:目标版本无效:9(与您的目标版本相同),所以我更改了红色突出显示的字段in pom.xml of eclipse
答案 2 :(得分:0)
我使用以下配置解决此问题:
<build>
<plugins>
<!-- target Java 9 -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- fork compilation and use the
specified executable -->
<fork>true</fork>
<executable>javac9</executable>
</configuration>
</plugin>
</plugins>
</build>
还有其他选择,例如Maven Toolchains或mavenrc文件。
答案 3 :(得分:0)
当我使用 Java 8 而不是 Java 11 时发生了这种情况,所以我安装了 Java 11 并且错误消失了。
答案 4 :(得分:0)
我不得不使用 java 9 而不是 8。
我在 MacOS 中切换了 java 环境:
列出已安装的 Java 版本:/usr/libexec/java_home -V
切换到 Java 9:export JAVA_HOME=`/usr/libexec/java_home -v 9.0.4`
(我之前安装了 java 9)
来源:How to set JAVA_HOME environment variable on Mac OS X 10.9?