Dan*_*iuc 32 java package deprecated
我正在研究新的代码库并将系统迁移到新的框架.
我想弃用许多软件包,只是为了让其他开发人员明白这个软件包中的所有东西都不应该用于新的开发.
指示整个包已被弃用的最佳方法是什么?
muy*_*moo 47
我最近不得不这样做并使用该package-info.java文件来弃用包.
http://www.intertech.com/Blog/whats-package-info-java-for/
package-info.java仅使用包声明将文件添加到包中:
/**
* @deprecated As of release 2.0, replaced by {@link com.acme.new.package}
*/
@Deprecated
package com.acme.old.package;
Run Code Online (Sandbox Code Playgroud)
在Eclipse中,用户从此包导入类的所有位置都将使用弃用警告下划线.
And*_*s_D 12
你自己说过:你想要弃用包内的所有内容,而不是包本身.该包只是一个命名空间,并且弃用命名空间会有不同的含义 - 就像不再使用这个命名空间一样.就像不向该命名空间添加任何新项目一样.
在您的情况下,我建议您弃用不应再使用的每个类的每个公共方法(和字段).这在现代IDE中变得可见,并且开发人员在想要使用旧类和方法时会被警告.您可以查看代码并逐步重构它以消除这些类和方法的依赖关系.
使用AspectJ.创建一个在使用包时发出编译器警告的Aspect:
public aspect DeprecationAspect{
declare warning :
call(* foo.bar..*(..)) : "Package foo.bar is deprecated";
}
Run Code Online (Sandbox Code Playgroud)
(如果使用ant或maven,可以轻松地将AspectJ添加到构建中)
| 归档时间: |
|
| 查看次数: |
9555 次 |
| 最近记录: |