利用java开发系统时,有没有方法可以分成两种?就是一种是调试代码,另外一种是发布代码?   调试代码在调试的时候可以将所有插入到代码中间的调试打印信息打印出来,但是,我发布的时候,希望将这些调试代码去掉!   就像C++的   #def   一样的功能?   有没有?  如果java没直接支持,有没有工具可以支持啊?
我用的中netbeans,这个工具有没有提供这个功能?
如果都没有,自定义注解能实现吗?

解决方案 »

  1.   

    log4j?
    可以配置日志级别,调到ERROR后那些DEBUG就不会打出来
      

  2.   

    我做的是桌面应用,不用SSH框架,netbeans有没有其它办法实现啊
      

  3.   

    我想加一些System.out.println("...");的代码,但发布的时候希望没有这些代码,不然太影响性能了,如果有问题了,又需要用到这些代码,注释来注释去太麻烦了
      

  4.   

    最简单的是定义一个布尔常量,开发的时候设为true然后
    if (BOOLEAN_CONST) {
        // 调试信息
    }发布的时候直接改掉这个常量就好了
      

  5.   

    都是用log4j的就是2楼的那种说法
      

  6.   

    没有debug和release的概念 java编译出的是字节码 可以理解为虚拟机认识的源代码,源代码怎么release
      

  7.   


    而且if语句后面跟的如果是常量,编译器还会优化掉为false的情况,一点也不会影响你的性能
      

  8.   

    findbug  可以自定义  错误类型来查找  System.out.print 之类的东西
      

  9.   

    用spring做日志,随时可以去掉,就在配置文件里配置就行了
      

  10.   

    log4j 调试版的配置文件是Info级别,发布版本是error级别调试信息用log.info();