Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >线程"main“com.sun.xml.internal.ws.spi.db.DatabindingException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException异常

线程"main“com.sun.xml.internal.ws.spi.db.DatabindingException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException异常
EN

Stack Overflow用户
提问于 2017-02-07 19:37:38
回答 1查看 1.6K关注 0票数 2

当我尝试运行我的代码时,我得到了这个错误。错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Exception in thread "main" com.sun.xml.internal.ws.spi.db.DatabindingException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
java.util.List is an interface, and JAXB can't handle interfaces.
    this problem is related to the following location:
        at java.util.List

    at com.sun.xml.internal.ws.db.glassfish.JAXBRIContextFactory.newContext(Unknown Source)
    at com.sun.xml.internal.ws.spi.db.BindingContextFactory.create(Unknown Source)
    at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(Unknown Source)
    at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(Unknown Source)
    at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.postProcess(Unknown Source)
    at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(Unknown Source)
    at com.sun.xml.internal.ws.db.DatabindingImpl.<init>(Unknown Source)
    at com.sun.xml.internal.ws.db.DatabindingProviderImpl.create(Unknown Source)
    at com.sun.xml.internal.ws.db.DatabindingProviderImpl.create(Unknown Source)
    at com.sun.xml.internal.ws.db.DatabindingFactoryImpl.createRuntime(Unknown Source)
    at com.sun.xml.internal.ws.server.EndpointFactory.createSEIModel(Unknown Source)
    at com.sun.xml.internal.ws.server.EndpointFactory.create(Unknown Source)
    at com.sun.xml.internal.ws.server.EndpointFactory.createEndpoint(Unknown Source)
    at com.sun.xml.internal.ws.api.server.WSEndpoint.create(Unknown Source)
    at com.sun.xml.internal.ws.api.server.WSEndpoint.create(Unknown Source)
    at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(Unknown Source)
    at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(Unknown Source)
    at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(Unknown Source)
    at javax.xml.ws.Endpoint.publish(Unknown Source)
    at com.bookstore.BookStorePublisher.main(BookStorePublisher.java:12)

Caused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
java.util.List is an interface, and JAXB can't handle interfaces.
    this problem is related to the following location:
        at java.util.List

    at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source)
    at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
    at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(Unknown Source)
    at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(Unknown Source)
    at com.sun.xml.internal.ws.developer.JAXBContextFactory$1.createJAXBContext(Unknown Source)

代码如下:

BookStoreServer.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.bookstore;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

@WebService
@SOAPBinding(style = Style.RPC)
public interface BookStoreServer {

    @WebMethod
    HashMap<String,String> getBookDetails(String bookName);

    @WebMethod
    List<String> getAllBooks();
}

BookStoreImpl.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.bookstore;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.jws.WebService;

import com.bookstore.BookStoreServer;

@WebService(endpointInterface = "com.bookstore.BookStoreServer")
public class BookStoreImpl implements BookStoreServer {

    public HashMap<String,String> getBookDetails(String bookName)
    {
        HashMap<String,String> hMap = new HashMap<String,String>();
        return hMap;
    }

    public ArrayList<String> setValuesToList(){
        ArrayList<String> strList = new ArrayList<String>();
        strList.add("testVal 1");
        strList.add("testVal 2");
        return strList;
    }
    public List<String> getAllBooks()
    {
        List<String> alist = new ArrayList<String>();
        BookStoreImpl impl = new BookStoreImpl();
        alist = impl.setValuesToList();
        return alist;
    }
}

BookStorePublisher.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.bookstore;

import javax.xml.ws.Endpoint;

import com.bookstore.BookStoreImpl;

public class BookStorePublisher {

    public static void main(String[] args) {

        System.out.println("Beginning to publish HelloWorldService now ");
        Endpoint.publish("http://127.0.0.1:8930`enter code here`/ws", new BookStoreImpl());
        System.out.println("Done publishing");
    }

}

BookStoreClient.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.bookstore;

import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class BookStoreClient {

    public static void main(String[] args) {

        try {

            URL url = new URL("http://127.0.0.1:8930/ws?wsdl");
            QName qname = new QName("http://bookstore.com/",
                    "BookStoreImplService");

            Service service = Service.create(url, qname);

            BookStoreServer server = service.getPort(BookStoreServer.class);

               HashMap<String,String> m1 = new HashMap<String,String>(); 
                  m1.put("IAM", "A");
                  m1.put("COE", "B");
                  m1.put("ESRM", "C");
                  m1.put("TCS", "D");

            System.out.println("The book details");      
            //System.out.println(server.getBookdetails(m1));

            System.out.println("The book names");
        //  System.out.println(server.getAllBooks());
            List<String> bookList = server.getAllBooks();
            System.out.println("Executing for");
            for(String str:bookList){
                System.out.println("str: "+str);
            }

            Iterator<String> itr = bookList.iterator();
            while(itr.hasNext()){
                String book = itr.next();
            System.out.println(book);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

有人能帮我修复这些错误吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-31 09:22:50

在接口和实现类中将List更改为ArrayList,则您的异常可能会得到解决

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42098472

复制
相关文章
main函数是主线程吗
1、线程的概念: 线程是程序最基本的运行单位,而进程不能运行,所以能运行的,是进程中的线程。 2、线程是如何创建起来的: 进程仅仅是一个容器,包含了线程运行中所需要的数据结构等信息。一个进程创建时,操作系统会创建一个线程,这就是主线程,而其他的从线程,却要主线程的代码来创建,也就是由程序员来创建。 当一个程序启动时,就有一个进程被操作系统(OS)创建,与此同时一个线程也立刻运行,该线程通常叫做程序的主线程(Main Thread),因为它是程序开始时就执行的,如果你需要再创建线程,那么创建的线程就是这个主线
233333
2018/03/07
2.1K0
异常、线程
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100192.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/29
7640
异常、线程
异常:Exception in thread "main" java.lang.ExceptionInInitializerError
在JDBC编程时,报初始化异常 花了将近20min才看出来,仔细仔细再仔细!
时间静止不是简史
2020/07/27
1.2K0
异常:Exception in thread "main" java.lang.ExceptionInInitializerError
【Java】异常、线程
异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:
陶然同学
2023/02/27
4450
【Java】异常、线程
Java多线程:捕获线程异常
你处理过多线程中的异常吗?如何捕获多线程中发生的异常?捕获子线程的异常与捕获当前线程的异常一样简单吗? 除了try catch。Java中还可以通过异常处理器UncaughtExceptionHandler来处理那些未捕获的异常。 # 在当前线程捕获当前线程发生的异常: /** * @author futao * @date 2020/6/17 */ @Slf4j public class ExceptionInCurThread { public static void main(Strin
喜欢天文的pony站长
2020/06/29
3.6K0
Java多线程:捕获线程异常
GRPC-C++源码分析(三)--main线程
如果没有特殊喜好,推荐从example/cpp/helloworld/greeter_server.cc开始阅读。前期分析的是同步部分的代码。
路小饭
2019/04/21
3.6K0
JAVA线程异常终止
参考链接:http://www.cnblogs.com/yuhuihong19941210/p/5547501.html
java干货
2021/02/17
8620
Spring boot maven 打包多个main方法引起的异常
使用Spring boot + maven模式进行开发,当项目进行到一阶段之后,无论执行maven命令中的package还是install,都会出现以下异常:
程序新视界
2022/05/06
7210
【EventBus】Subscribe 注解分析 ( Subscribe 注解属性 | threadMode 线程模型 | POSTING | MAIN | MAIN_ORDERED | ASYNC)
threadMode 注解属性 用于配置 线程模式 , 用于标明执行事件对应的方法处于的线程类型 , 默认是 ThreadMode.POSTING 类型 ;
韩曙亮
2023/03/29
1.2K0
Java线程池异常处理
ThreadPoolExecutor 的 execute 方法不用过多分析, 就是线程池的执行流程, 这里看看 submit:
leobhao
2023/03/11
4000
Java线程池异常处理
ThreadPoolExecutor 的 execute 方法不用过多分析, 就是线程池的执行流程, 这里看看 submit:
leobhao
2022/06/28
3560
Java 线程内异常处理
Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止,导致这个线程的终结。最麻烦的是,在线程中抛出的异常即使使用try...catch也无法截获,因此可能导致一些问题出现,比如异常的时候无法回收一些系统资源,或者没有关闭当前的连接等等。  JDK5.0之前,不能为单独的Thread设置UncaughtExceptionHandler,也不能指定一个默认的UncaughtExceptionHandler。为了可以设置一个Uncaught
庞小明
2018/03/07
1.1K0
(九)线程池异常捕获
上一篇提到了使用ThreadFactory的UncaughtExceptionHandler去捕获线程池的错误,还有没有其他方法呢?
HaC
2020/12/30
1.6K0
java主线程捕获子线程中的异常
如果想要在主线程中捕获子线程的异常,我们需要使用ExecutorService,同时做一些修改。
Java架构师必看
2021/05/14
3K0
java主线程捕获子线程中的异常
浅谈main(),int main(),void main(),int main(void)四者之间的区别
1,main():相当于 int main() 2,int main():int 是main() 函数的返回类型。这表明main()函数返回的值是整数且授受任何数量的参数。 3,void main():void为空类型。这表明main函数无返回值且授受任何数量的参数。 4,int main(void):main不接受任何参数且返回的值是整数。 另外请注意: main()为老式的写法。返回类型int在新型的编译器重不可以省略,否则会有警告; void main()为老式的写法。6.0及之前的VC使用这样的写法
Zoctopus
2018/06/04
1K0
ThreadPoolExcutor 线程池 异常处理 (上篇)
最近看到crossoverJie的一篇文章:一个线程罢工的诡异事件 首先感谢原作者的分享,自己获益匪浅。然后是回想到自己的一次面试经历,面试官提问了线程池中的线程出现了异常该怎样捕获?会导致什么样的问题?
一枝花算不算浪漫
2019/03/29
1.1K0
ThreadPoolExcutor 线程池 异常处理 (上篇)
Java-线程中的异常
给出以下例子,我想问题是线程t1运行期间抛出的异常能够被捕获吗?(这是一个相当好的问题~)
Fisherman渔夫
2020/02/19
1.5K0
ThreadPoolExcutor 线程池 异常处理 (下篇)
因为这是之前面试的一个题目,所以印象比较深刻,前几天写了一篇文章:ThreadPoolExcutor 线程池 异常处理 (上篇) 中已经介绍了线程池异常的一些问题以及一步步分析了里面的一些源代码,今天就来继续说下如何防范这种情况。
一枝花算不算浪漫
2019/04/09
1.5K0
ThreadPoolExcutor 线程池 异常处理 (下篇)
异常处理器详解 Java多线程异常处理机制 多线程中篇(四)
你会发现,然而并没有什么卵用,主线程中的try catch并不会得到什么信息,跟原来的结果还是一样的,线程直接宕掉
noteless
2019/03/04
1.5K0
异常处理器详解 Java多线程异常处理机制  多线程中篇(四)
点击加载更多

相似问题

线程"main“NumberFormatException异常

30

线程main中的异常:IO异常

26

线程" main“java.lang.NoSuchMethodError异常:main

50

线程Main中出现异常

10

线程main --> huffman树解码异常

111
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文