利用java开发系统时,有没有方法可以分成两种?就是一种是调试代码,另外一种是发布代码

高亮 2010-05-25 04:00:25
利用java开发系统时,有没有方法可以分成两种?就是一种是调试代码,另外一种是发布代码? 调试代码在调试的时候可以将所有插入到代码中间的调试打印信息打印出来,但是,我发布的时候,希望将这些调试代码去掉! 就像C++的 #def 一样的功能? 有没有?

如果java没直接支持,有没有工具可以支持啊?
我用的中netbeans,这个工具有没有提供这个功能?
如果都没有,自定义注解能实现吗?
...全文
152 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dr_lou 2010-05-25
  • 打赏
  • 举报
回复
log4j 调试版的配置文件是Info级别,发布版本是error级别

调试信息用log.info();
liuyake250 2010-05-25
  • 打赏
  • 举报
回复
用spring做日志,随时可以去掉,就在配置文件里配置就行了
cd0425 2010-05-25
  • 打赏
  • 举报
回复
findbug 可以自定义 错误类型来查找 System.out.print 之类的东西
非典型射手 2010-05-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cosmos1984 的回复:]

最简单的是定义一个布尔常量,开发的时候设为true

然后
if (BOOLEAN_CONST) {
// 调试信息
}

发布的时候直接改掉这个常量就好了
[/Quote]

而且if语句后面跟的如果是常量,编译器还会优化掉为false的情况,一点也不会影响你的性能
antzl 2010-05-25
  • 打赏
  • 举报
回复
没有debug和release的概念 java编译出的是字节码 可以理解为虚拟机认识的源代码,源代码怎么release
一头头 2010-05-25
  • 打赏
  • 举报
回复
都是用log4j的

就是2楼的那种说法
非典型射手 2010-05-25
  • 打赏
  • 举报
回复
最简单的是定义一个布尔常量,开发的时候设为true

然后
if (BOOLEAN_CONST) {
// 调试信息
}

发布的时候直接改掉这个常量就好了
高亮 2010-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 anjxue 的回复:]
log4j?
可以配置日志级别,调到ERROR后那些DEBUG就不会打出来
[/Quote]
我想加一些System.out.println("...");的代码,但发布的时候希望没有这些代码,不然太影响性能了,如果有问题了,又需要用到这些代码,注释来注释去太麻烦了
高亮 2010-05-25
  • 打赏
  • 举报
回复
我做的是桌面应用,不用SSH框架,netbeans有没有其它办法实现啊
  • 打赏
  • 举报
回复
log4j?
可以配置日志级别,调到ERROR后那些DEBUG就不会打出来
xiesisi3 2010-05-25
  • 打赏
  • 举报
回复
spring的AOP可以帮你

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧