Я разрабатываю настольное приложение в java, используя spring и спящий режим. Я хочу упаковать его как исполняемый банку, но у меня возникают проблемы с загрузкой XML-конфигурации контекста из файла jar.
Я упакую приложение как исполняемый файл jar, и когда я запускаю файл jar, он сообщает мне, что файл не существует. Я знаю, что из файла jar я должен загружать InputStream, но там не поддерживается реализация ApplicationContext.
Я считаю, что мне придется закодировать свой собственный InputStreamXmlApplicationContext, и я уже пытался это сделать. Я сделал несколько исследований и немного кодировал:
import java.io.InputStream;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.core.io.InputStreamResource;
import org.springframework.core.io.Resource;
public class InputStreamXmlApplicationContext extends AbstractXmlApplicationContext {
private Resource[] configResources;
public InputStreamXmlApplicationContext(InputStream in) {
InputStreamResource resource = new InputStreamResource(in);
configResources = new InputStreamResource[] {resource};
setConfigResources(configResources);
refresh();
}
public Resource[] getConfigResources() {
return configResources;
}
public void setConfigResources(Resource[] configResources) {
this.configResources = configResources;
}
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) {
beanDefinitionReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);
}
}
Но я не могу заставить его работать. Может кто-нибудь мне помочь?