是否可以让编译器在遇到用户定义的注释时生成警告?类似于@Deprecated注释的东西?谢谢 最佳答案 根据您最初的问题和评论,我假设您正在尝试执行以下操作:将代码标记为不完整(带有编译器警告),以便其他开发人员不要使用它。稍后在您的IDE中识别不完整的代码。我不相信您可以用编译器警告标记代码。@Deprecated标记被嵌入到编译器中。指示方法不完整的更常见方法是抛出异常:thrownewUnsupportedOperationException("Notimplementedyet");效果要到运行时才能实现,但其他开发人员应该
Eclipse(Juno)给出以下警告:Potentialresourceleak:'os'maynotbeclosed在此代码的try主体的第一行:staticvoidsaveDetails(byte[]detailsData){OutputStreamos=null;try{os=sContext.openFileOutput(DETAILS_FILE_NAME,Context.MODE_PRIVATE);os.write(detailsData);}catch(IOExceptione){Log.w(LOG_TAG,"Unabletosavedetails",e);}finall
我只想弃用给定类的扩展,而不是类中包含的所有方法和字段,使用@Deprecated注释。也就是说,如果您扩展给定的类,将会出现警告-但对方法或字段的引用不会触发警告。已经有几个扩展此类的类,我希望针对这些客户端发出弃用警告-我还不能破坏它们(但它们可以重新编译-不需要ABI兼容性)。在Java1.6(JDT编译器)中可以吗? 最佳答案 两个注意事项1)该类可能已经被扩展,所以不要将其标记为最终类,否则您可能会破坏向后兼容性。2)你不想扩展这个类,所以它应该被标记为final。我认为您应该做的是用新类扩展旧类,将旧类标记为已弃用,并声
一切正常。但是显示这个错误。我的log4j.properties文件如下:#Rootloggeroptionlog4j.rootLogger=DEBUG,stdout,file#Redirectlogmessagestoconsolelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layou
我使用的是运行Java1.7.0_21的Mac10.7。我正在尝试运行一个已签名的Javaapplet应用程序,在应用程序结束时,我收到一个混合模式安全弹出窗口,提示“阻止可能不安全的组件运行?”。我使用的所有jar都已签名。我能够在运行Java6的Mac10.6上运行相同的小程序应用程序,但我没有收到混合模式警告。我还可以在Windows上运行该应用程序,而不会出现混合模式警告。为什么当我所有的jar都已签名时,我会不断收到此错误?我用谷歌搜索了混合模式警告并找到了这个链接。http://docs.oracle.com/javase/6/docs/technotes/guides/j
通过使用File类的createNewFile方法和delete方法,我成功地从我的程序中生成了文件。但是在编译过程之后有一个恼人的警告信息。我的问题是如何在不使用@SUPPRESSWARNIGN的情况下删除该警告消息。因为当我检查我的代码时,我看到了可能由这两种方法引起的错误警告。是的,通过使用@SuppressWarning警告和可能的错误消息消失了。我不知道它是否与Java版本有关,但无论如何我使用的是Java8。我对这个问题进行了研究,在互联网上找不到任何东西。我在网上看到有人用这两种方法和我用的一样。可能是他们忽略了警告信息。但我不想。这是我的代码:privatevoidcr
我刚开始学习服务器,我正在研究Google的AppEngine。我正在尝试完成位于here的AppEngine教程在Mac上使用Eclipse,但我遇到了一个问题:Jun24,20104:35:08PMcom.google.apphosting.utils.jetty.JettyLoggerinfoINFO:LoggingtoJettyLogger(null)viacom.google.apphosting.utils.jetty.JettyLoggerJun24,20104:35:08PMcom.google.apphosting.utils.config.AppEngineWebX
假设我有一个名为foo的方法,将2个对象作为参数。这两个对象属于同一类型,并且都实现了可比较的接口(interface)。voidfoo(Objectfirst,Objectsecond){if(!first.getClass().isInstance(second))//firstandsecondofthesametypereturn;ComparablefirstComparable=(Comparable)first;//WARNINGComparablesecondComparable=(Comparable)second;//WARNINGintdiff=firstComp
我在VPS上安装了tomcat网络应用程序,而tomcat有时(大约每月一次)崩溃并在catalina.out中出现以下错误:JavaHotSpot(TM)64-BitServerVMwarning:Exceptionjava.lang.OutOfMemoryErroroccurreddispatchingsignalSIGTERMtohandler-theVMmayneedtobeforciblyterminated.以下是有关我的配置的一些详细信息:VPS:debian-5.0-x86_64内存:2.5GB,虚拟处理器:8硬盘:60gb硬盘-70%免费Tomcat7.0java版本
我有一些通用代码,我不知道如何合法地防止收到警告;我目前正在使用@SuppressWarnings("unchecked"),因为似乎无法在没有警告的情况下转换泛型类型。我怎样才能去掉注释?我有的是:publicMyObject(SharedContextctx){super(ctx);//setprotectedfield'context'...context.set("InputFields",Collections.synchronizedMap(newTreeMap>(String.CASE_INSENSITIVE_ORDER)));context.set("OutputFie