Hey Felix,
Since V 7.x.x I had to use annotations to be able to import components properly.
like so…
@Scanned
public class MyCustomField extends TextAreaCFType {
private PluginSettingsFactory pluginSettingsFactory;
protected MyCustomField (@ComponentImport PluginSettingsFactory pluginSettingsFactory){
this.pluginSettingsFactory= pluginSettingsFactory;
}
or
@Scanned
public class MyCustomField extends TextAreaCFType {
@ComponentImport
private final PluginSettingsFactory pluginSettingsFactory;
@Inject
protected MyCustomField (PluginSettingsFactory pluginSettingsFactory){
this.pluginSettingsFactory= pluginSettingsFactory;
}
Be sure you have the right dependencies in your pom for these annotations
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-annotation</artifactId>
<version>${atlassian.spring.scanner.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-runtime</artifactId>
<version>${atlassian.spring.scanner.version}</version>
<scope>runtime</scope>
</dependency>
Hope this helps