Я работаю над устаревшим набором классов Java, чтобы они больше не использовались. Я не хочу отключать предупреждения компилятора об устаревшем использовании, но обнаруживаю, что если один из моих устаревших классов импортирует другой устаревший класс, я тоже получаю предупреждение об этом. Я не хочу изменять код, который я осуждаю, но я также не хочу предупреждение для этих случаев. Есть ли способ (а) аннотировать / комментировать код, чтобы отключить предупреждение (б) отключить предупреждения компилятора в этих случаях? Я использую NetBeans, поэтому, если есть особый способ NetBeans, он тоже работает.
Вот краткий пример:
Первый класс:
/**
* @deprecated No longer in use.
**/
@Deprecated
public class OldSubClass {
}
Второй класс:
import com.old.package.OldSubClass; // Don't want this to create a warning
/**
* @deprecated No longer in use.
**/
@Deprecated
public class OldClass {
// code that makes use of OldSubClass that I don't want to change ...
// Any methods that use OldSubClass are also deprecated ...
}
Хорошо, это тот самый минимум, который позволяет мне воспроизвести проблему (даже при включенном @SupressWarnings:
Материнский класс:
import another.pack.ChildClass;
@SuppressWarnings("deprecation")
public class MotherClass {
}
Детский класс:
package another.pack;
/**
* @deprecated
*/
public class ChildClass {
}
Обратите внимание, что это тег JavaDoc @deprecated, который даже позволяет компилятору выдавать предупреждение. Если я использую только аннотацию @Deprecated, я никогда не получу предупреждение (даже без подавления).