У меня есть два плагина, которые используют одинаковые дублированные методы. Затем я хочу реорганизовать и переместить эти методы в общий класс и разместить его в банке зависимости.Ввод свойств maven в mojo с Sisu
Этим методом требуются некоторые свойства maven как MavenProject, PluginDescriptor и некоторые другие классы maven, которые раньше были введены в mojo.
Есть ли все-таки такие свойства, которые нужно вводить непосредственно в общий класс?
или мне нужно ввести их в mojo, а затем вызвать некоторый метод инициализации?
Я объявил общий класс с @Named и создал конструктор с @Inject. Класс mojo также имеет конструктор (код ниже). Затем я попробовал запустить его. Все значения вводятся в mojo правильно, но значения внутренних свойств объекта совместного объекта равны нулю.
@Inject
public SharedValidationHelperDefault(final MavenProject project,
final BuildContext buildContext,
final RuntimeInformation runtimeInformation, final Log log) {
this.buildContext = buildContext;
this.project = project;
this.runtimeInformation = runtimeInformation;
this.log = log;
}
...
@Inject
public AbstractContainerPackMojo(
final RuntimeInformation runtimeInformation,
final MavenProjectHelper projectHelper,
final BuildContext buildContext, SharedValidationHelper validationHelper) {
this.validationHelper = validationHelper;
this.buildContext = buildContext;
this.runtimeInformation = runtimeInformation;
this.projectHelper = projectHelper;
}
Я думаю, что я знаю об этих различиях. Я не понял, почему инъекция с @inject на mojo работает, но эта инъекция не работает в общем классе. – Cristiano