Hi all
I am trying to start weld container (2.3.5) as auto module in JPMS. This is my code
Deployment deployment = new Deployment() {
@Override
public Collection<BeanDeploymentArchive> getBeanDeploymentArchives() {
List<BeanDeploymentArchive> list = new ArrayList<>();
list.add(archive);
return list;
}
@Override
public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?>
beanClass) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ServiceRegistry getServices() {
SimpleServiceRegistry simpleServiceRegistry = new
SimpleServiceRegistry();
simpleServiceRegistry.add(ResourceLoader.class, new
ResourceLoaderImpl());
return simpleServiceRegistry;
}
@Override
public Iterable getExtensions() {
return new ArrayList<>();
}
};
bootstrap.startContainer(Environments.SE, deployment);
The problem is that in BeanDeployment constructor all services are loaded here
https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a12...
and if I in my resource loader service return instead of all java-ee classes null, I get
null pointer exception, for example here
https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a12...
I can't understand why all these classes are requested from me, as I am in SE. Or I am
doing something wrong. Could anyone help me?
--
Best regards, Alex Sviridov