我正在尝试使用Java 9在Mac上构建一个gradle项目,但是我收到了这个错误:
FAILURE: Build failed with an exception.
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement
Java版本是:
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
如何将JAXB添加到类路径?此项目在Windows和其他计算机上构建,无需添加JAXB即可。
答案 0 :(得分:0)
由于Java 9的变化,你看到了这一点。以下是解决这个问题的方法:How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9
但是,如果您的项目是为Java 8(或更早版本)编写的,那么我真正建议的是让Gradle在build.gradle中了解它:
...
plugins {
id 'java'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
...
答案 1 :(得分:0)
将以下内容添加到build.gradle:
时可以使用compile 'javax.annotation:jsr250-api:1.0'
tasks.withType(AbstractCompile) {
options.compilerArgs += ["--add-modules", "java.xml.bind"]
}
tasks.withType(Test) {
jvmArgs += ["--add-modules", "java.xml.bind"]
}
答案 2 :(得分:0)
您可以在package File_Lists is new Ada.Containers.Vectors (Index_Type => Positive, Element_Type => Unbounded_String);
File : File_Lists.Vector;
Get_Files : loop
exit Get_Files when No_More_Files;
File.Append (New_Item => Next_File);
end loop Get_Files;
块下添加以下内容来解决缺少的dependencies
:
JAXBElement