当前位置:   article > 正文

eclipse下正常,服务器上匿名内部类失效问题_eclicse 编译后匿名类名字null

eclicse 编译后匿名类名字null

   这次是因增加新的功能,直接把class文件更新到了服务器上,但是运行时就到了匿名内部类就消失了的问题,这个问题导致加班还在搞,一直搞到凌晨4点

 如下正常的JAVA代码,应该执行到log.info("create default http client start.......");但是后面就没执行了 也就是后面的config没东西出现 导致异常出现,但是我们明明替换了这个编译后的class文件啊

  1. public static CloseableHttpClient createDefaultHttpClient(RequestConfig config) throws KeyManagementException, NoSuchAlgorithmException {
  2. log.info("create default http client start.......");
  3. HostnameVerifier hostnameVerifier = new HostnameVerifier() {
  4. @Override
  5. public boolean verify(String arg0, SSLSession arg1) {
  6. return true;
  7. }
  8. };
  9. System.out.println(hostnameVerifier);
  10. System.out.println("config"+config);

服务器上的信息 看到和上面的显示的一样 出现info后就没东西了 断定这里出现问题

  1. [INFO] create default http client start....... <com.tzsw.dsv.util.HttpClientUtil.createDefaultHttpClient()> (HttpClientUtil.java:188)
  2. null

使用class反编译工具查看 当时的文件 发现是有的 怎么会没的 后来才注意到 匿名内部类 会在当前文件夹下生成以$1 $2为名的文件,如果你不把这个文件带上,那编译后的文件是失效的

  1. public static CloseableHttpClient createDefaultHttpClient(RequestConfig config) throws KeyManagementException, NoSuchAlgorithmException {
  2. log.info("create default http client start.......");
  3. HostnameVerifier hostnameVerifier = new HostnameVerifier()
  4. {
  5. public boolean verify(String arg0, SSLSession arg1) {
  6. return true;
  7. }
  8. };

HttpClientUtil$1.class   HttpClientUtil$2.class  HttpClientUtil.class  第三个是正常的java生成的

但是如果仅仅只是更新最后一个class是会出问题的,需要连着上面的3个一起 且最好是打包 放在本次文件夹下才可以执行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/683230
推荐阅读
相关标签
  

闽ICP备14008679号