Java开发工具Eclipse使用中报错的详细分析
Eclipse中报错“要了解详细信息,请使用-xlint:unchecked重新编译”的解决方案 u| y-T,h0iT_Sm u7P
一、遇到问题: xYQj4maY
用ant执行jasperreport的samples\charts示例的build.xml时,无法编译,提示错误如下: K LW3N0?6p-z\S
/Mu\)p]k^
javac: Us~3A d6r9s
]7}~3yy4D
[javac] Compiling 2 source files to E:\jiangcm\workspace-forict-myeclipse\jasperreports\demo\samples\charts
[javac] 注意: E:\jiangcm\workspace-forict-myeclipse\jasperreports\demo\samples\charts\ChartsApp.java 使用了未经检查或不安全的操作。
H5@ {-N)@6v
[javac] 注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。
G.U&\;qR
二、查了一下资料,知道是泛型的原因,网上查到的解决方案主要有以下几种: g G+i)B`5J)|)U
V+ff0Kn
1.编译时带上参数-source 1.4 i1sHy-BX\&z7r-D
2.使用@SupressWarnings("unchecked")注释 nD6Bn5s9J#X/c
3.更新你的代码,使用List< Object>. List< Object>的实例能接受任何类型的对象,就像是一个原型List。然而,编译器不会报错。
$i ybB4Y
(以上三种方法来源:[url]http://www.matrix.org.cn/resource/article/43/43634_java_generics.html[/url])
T.Q5m,]d3RoL}
wpeI1L GVC
4.如果你用的Ant,使用build.xml编译的话,可以右击build.xml文件,
*QC1m:z!sv*Ci
--> 执行 --> 构成和执行,选择 参数,在《程序参数》里面输入-xlint:unchecked即可; "Zm\;N}-cR
}KkUKq
5.找到build.xml里面类似的语句,加上一句话: !gB.yv si*] Q
< !-- Java Compile -->
~~:HWmaa5u ` no a
< target name="compile" depends="init">
\9l hU[VV
< javac srcdir="src" destdir="${classdir}" 4Lj/W z!T%N2e\&t
deprecation="on" encoding="Windows-31J" debug="on" includes="**/jp/**"> 0cFJ'k/pn%Iu
< compilerarg value="-Xlint:unchecked"/> `< !-- 就是这句话!! --> )Wpe` M+e M C7c~x!{
S:Os8| |Df m#X4X0`
< classpath refid="project.class.path" />
< /javac> ux _.a8`/e
< /target>
;@P,t%jY2\w`J
(以上两种方法来源:[url]http://www.itwenku.com/java/12/47796.htm[/url])
5BvdwHo7tL
三、自己的试验与结论
+X%?5N"G$P%Z"hf
第一种: 1b!ki5`3Lk
"TU{ }(w
“编译时带上参数-source 1.4”使用方法:
Y1J9}.s1XUP yH)P
找到build.xml里面类似的语句,加上一句话:
< javac srcdir="${src.dir}" destdir="${classes.dir}" >
< classpath refid="classpath"/> |nFq|_9h-fb
< compilerarg line="-source 1.5"/> `< !-- 就是这句话!注意与第五种方式不同的是line标签而不是value! --> 3hQ:u7Wq {qf
7y6nY*}f
< /javac> Vd&u?9Bd?-i
编译通过,charts下的报表出现了!
{ H N vX_fc5qe)QB
第二种:
GXq@8X`f
“使用@SupressWarnings("unchecked")注释”: B:Swo4mE`:]&xp.sB
e;c7M&c.[U$A;lc
在ChartsApp.java的main函数前加上了这个注释,但是没有起作用,提示错误依然是“[javac] 注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。”,怎么回事呢?
EA4I7V^*S
J!]{+h:M qt3T
在一篇文章中找到了答案: a|^8?*a5~!tN