Eclipse中报错的解决方案
1个回答
展开全部
Eclipse中报错 要了解详细信息 请使用 xlint:unchecked重新编译 的解决方案 一 遇到问题 用ant执行jasperreport的samples\charts示例的build xml时 无法编译 提示错误如下 javac: [javac] Compiling source files to E:\jiangcm\workspace forict myeclipse\jasperreports\demo\samples\charts [javac] 注意 E:\jiangcm\workspace forict myeclipse\jasperreports\demo\samples\charts\ChartsApp java 使用了未经检查或不安全的操作 [javac] 注意 要了解详细信息 请使用 Xlint:unchecked 重新编译 二 查了一下资料 知道是泛型的原因 网上查到的解决方案主要有以下几种 编译时带上参数 source 使用@SupressWarnings( unchecked )注释 更新你的代码 使用List<Object> List<Object>的实例能接受任何类型的对象 就像是一个原型List 然而 编译器不会报错 (以上三种方法来源 l) 如果你用的Ant 使用build xml编译的话 可以右击build xml文件 > 执行 > 构成和执行 选择 参数 在《程序参数》里面输入 xlint:unchecked即可; 找到build xml里面类似的语句 加上一句话 <! Java Compile ><target name= pile depends= init ><javac srcdir= src destdir= ${classdir} deprecation= on encoding= Windows J debug= on includes= **/jp/** ><pilerarg value= Xlint:unchecked /> `<! 就是这句话!! ><classpath refid= project class path /></javac></target>(以上两种方法来源 ) 三 自己的试验与结论 第一种 编译时带上参数 source 使用方法 找到build xml里面类似的语句 加上一句话 <javac srcdir= ${src dir} destdir= ${classes dir} > <classpath refid= classpath /> <pilerarg line= source /> `<! 就是这句话!注意与第五种方式不同的是line标签而不是value! ></javac>编译通过 charts下的报表出现了!第二种 使用@SupressWarnings( unchecked )注释 在ChartsApp java的main函数前加上了这个注释 但是没有起作用 提示错误依然是 [javac] 注意 要了解详细信息 请使用 Xlint:unchecked 重新编译 怎么回事呢?在一篇文章中找到了答案 l在撰写本文时候 javac并不支持@SuppressWarnings 的注解 期望在Java 中得到支持 第三种 更改代码为泛型使用方式 原来的代码 Map parameters = new HashMap();parameters put( MaxOrderID new Integer( ));更改后的代码 Map<String Integer> parameters = new HashMap<String Integer> ();parameters put( MaxOrderID new Integer( ));或者 Map<Object Object> parameters = new HashMap<Object Object> ();parameters put( MaxOrderID new Integer( ));更改后 顺利通过编译 也能看到报表了!!第四种 经验证无效 第五种 <javac srcdir= src destdir= ${classdir} deprecation= on encoding= Windows J debug= on includes= **/jp/** ><pilerarg value= Xlint:unchecked /> `<! 就是这句话!! ><classpath refid= project class path /></javac>加上 <pilerarg value= Xlint:unchecked /> 后 出现 警告 不过编译顺利通过 也能看到报表了!编译提示如下 [javac] Compiling source files to E:\jiangcm\workspace forict myeclipse\jasperreports\demo\samples\charts [javac] E:\jiangcm\workspace forict myeclipse\jasperreports\demo\samples\charts\ChartsApp java: : 警告 [unchecked] 对作为普通类型 java util Map 的成员的 put(K V) 的调用未经检查 [javac] parameters put( MaxOrderID new Integer( )); [javac] ^ [javac] 警告呵呵 答案是丰富多彩的 条条大道通罗马 这次不仅解决了问题 还找到了四种解决问题的方法 参考资料 J SE 中的泛型作者 Budi Kurniawanl Eclipse中报jsp中有错误 要了解详细信息 请使用 xlint:unchecked重新编译 具体在菜单上怎么操作? 泛型类型 第一部分作者: David Flanaganl 有关ant的faqQ How to pass Xlint or Xlint:unchecked to javac task?A: pass it as pilerarg nested <pilerarg> to specify <pilerarg value= Xlint /> <! or > <pilerarg value= Xlint:unchecked /> lishixinzhi/Article/program/Java/ky/201311/28243
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询