Все фазы выполняются для всех модулей. Когда вы запускаете mvn package
в своем корневом каталоге, он запускает все фазы от жизненного цикла по умолчанию [ 1 ] до package
для каждого модуля, который описан в вашем
.
Но фазы ничего не делают. Они просто метки - и плагины связаны с этими метками [ 2 ]. То, что сделано в фазе, определяется списком плагинов, которые привязаны к этой фазе.
Что вы можете попробовать:
packaging
вашего модуля на не-jar. Упаковка определяет список привязок плагинов по умолчанию. Похоже, это лучший вариант для вас.
и запустите те плагины, которые вам нужны отдельно. Таким образом, этот модуль будет полностью исключен из вашего корневого модуля.
maven-compiler-plugin
default-compile
none
Попробуйте [myObject class]
за возврат класса объекта.
можно сделать точные сравнения с:
if ([myObject class] == [MyClass class])
, но не при помощи непосредственно MyClass
идентификатор.
Так же, можно найти, имеет ли объект подкласс класса с:
if ([myObject isKindOfClass:[AnObject class]])
, как предложил Jon Skeet и zoul.
От Википедия :
В Objective C, например, и дженерик
Object
иNSObject
(в Cocoa/OpenStep) предоставляют методisMemberOfClass:
, который возвращаетсяtrue
, если аргументом методу является экземпляр указанного класса. МетодisKindOfClass:
аналогично возвращает true, если аргумент наследовался указанному классу.
isKindOfClass:
было бы самым близким к instanceof
, звуками его.
Посмотрите isKindOfClass: метод в документация NSObject . (Обычное слово предупреждения для такого вопроса - то, что проверка класса объекта часто является знаком выполнения чего-то не так.)