我有一些代码使用JAXB API类,它们是作为Java 6/7/8中JDK的一部分提供的.当我使用Java 9运行相同的代码时,在运行时我得到错误,指示无法找到JAXB类.
自Java 6以来,JAXB类已作为JDK的一部分提供,为什么Java 9不再能够找到这些类?
我正在尝试运行一个扩展的测试,JerseyTest但在运行它时,我得到一个:
java.lang.NoClassDefFoundError: jersey/repackaged/com/google/common/collect/Maps
Run Code Online (Sandbox Code Playgroud)
知道我缺少什么依赖吗?我在我pom.xml和jersey中包含了以下球衣文物.版本是2.5.1:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.jersey-test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<version>1.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>2.6</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud) 我java ee 7在Glassfish 4.1.1. 编写了一个休息服务C#,它返回一个 Book 实例的集合。其余客户端发送获取请求的代码:
public List<Bandwcorpus> downloadBandWCorpus(String corpus) {
Client restClient = ClientBuilder.newClient();
List<Bandwcorpus> ebooks=restClient
.target("http://bookandwalk.pl/api/admindocumentlist")
.queryParam("password", "XXXX").queryParam("corpusid", "YYYY")
.request(MediaType.APPLICATION_JSON)
.get(new GenericType<List<Book>>() {});
restClient.close();
return ebooks;
}
Run Code Online (Sandbox Code Playgroud)
Book 类是一个 POJO:
public class Book {
private static final long serialVersionUID = 1L;
private Integer documentid;
private String corpusid;
private String corpusoriginalid;
private float nett;
private String currencyid;
private int vat;
private Discount discount;
private Upoluj isbn;
public Bandwcorpus() {
}
}
Run Code Online (Sandbox Code Playgroud)
我应用的 …