小编use*_*946的帖子

Eclipse Java远程调试器在VPN上非常慢

我有时被迫离开办公室工作,这意味着我需要VPN进入我的实验室.我注意到在这种情况下使用Eclipse进行远程调试非常慢.缓慢到调试器连接到远程jvm需要5-7分钟的时间点.连接后,逐步通过断点/线路每次可能需要20-30秒,而且它通常会断开连接,使我不得不重新开始.

任何人都能解释为什么会这样,即使没有可用的解决方案?考虑到远程调试器的行为,我通过VPN的延迟几乎不是人们期望的.我通过VPN做各种其他的事情,最小的滞后/阻塞.

我真的很难理解为什么远程调试器受到VPN的困扰,基本上每个其他网络操作都没问题.

谢谢,

java eclipse debugging vpn

15
推荐指数
2
解决办法
6038
查看次数

使用packageName和Classloader实例化JAXBContext时,会混淆ClassNotFoundException

我正在尝试使用Java中的JAXB将XML文件解组为生成的类结构.我遇到了一个令人困惑的问题,我所使用的类加载器JAXBContext.newInstance(packageName, classLoader)显然找不到一些必要的类来实例化模式类,但是当我手动搜索所提供的类加载器以获取所需的类时,它们就在那里:

URLClassLoader cl = this.getJaxbClassloader();
try 
{
    cl.loadClass("org.postgresql.util.PGInterval");
    Log.error("Found class [" + name + "] in provided classloader");
} 
catch (ClassNotFoundException e) 
{
    Log.error("Unable to find class [" + name + "]  in provided classloader");
}

JAXBContext ctx = JAXBContext.newInstance( "com.comp.gen", cl);
Run Code Online (Sandbox Code Playgroud)

getJaxbClassloader() 方法只是创建一个新的URLClassLoader,加载生成的类所需的一些特定jar,然后将系统类加载器设置为父类.生成的类使用了一些我放入类加载器的postgresql库,这是我遇到问题的资源.JAXB正确地在提供的包中找到ObjectFactory类,它只是生成的类本身的实例化,这似乎是问题所在.

运行此代码的结果是手动调用cl.loadClass("org.postgresql.util.PGInterval");工作正常,它记录第一个语句,说它找到了类,没有抛出异常.但是当JAXBContext实例化时,它会在完全相同的资源上抛出CNFE:

java.lang.ClassNotFoundException: org.postgresql.util.PGInterval
   at java.net.URLClassLoader.findClass(URLClassLoader.java:600)
   at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:772)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:745)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:726)
   ... 78 more
Run Code Online (Sandbox Code Playgroud)

更彻底的堆栈跟踪:

java.lang.NoClassDefFoundError: org.postgresql.util.PGInterval
    at java.lang.Class.getDeclaredFieldsImpl(Native Method)
    at java.lang.Class.getDeclaredFields(Class.java:740)
    at com.sun.xml.bind.v2.model.nav.ReflectionNavigator.getDeclaredFields(ReflectionNavigator.java:249)
    at com.sun.xml.bind.v2.model.nav.ReflectionNavigator.getDeclaredFields(ReflectionNavigator.java:58)
    at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.findFieldProperties(ClassInfoImpl.java:370) …
Run Code Online (Sandbox Code Playgroud)

java jaxb classloader

11
推荐指数
2
解决办法
3865
查看次数

标签 统计

java ×2

classloader ×1

debugging ×1

eclipse ×1

jaxb ×1

vpn ×1