Ресурс classpath [spring / config / BeanLocations.xml] не может быть открыт, потому что он не существует - PullRequest
1 голос
/ 19 ноября 2011

Это очень странно, у меня нет проблем с запуском проекта в Eclipse, но мне не удается запустить его с java -jar xxx.jar (экспорт в Runnable Jar)

    Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStore
    Exception: IOException parsing XML document from class path resource [spring/config/BeanLocations.xml]; 
    nested exception is java.io.FileNotFoundException: classpath resource [spring/config/BeanLocations.xml] cannot be opened because it does not exist
            at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
    nDefinitions(XmlBeanDefinitionReader.java:349)
            at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
    nDefinitions(XmlBeanDefinitionReader.java:310)
            at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
    r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
            at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
    r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
            at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
    r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
            at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
    r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
            at org.springframework.context.support.AbstractXmlApplicationContext.loa
    dBeanDefinitions(AbstractXmlApplicationContext.java:113)
            at org.springframework.context.support.AbstractXmlApplicationContext.loa
    dBeanDefinitions(AbstractXmlApplicationContext.java:80)
            at org.springframework.context.support.AbstractRefreshableApplicationCon
    text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
            at org.springframework.context.support.AbstractApplicationContext.obtain
    FreshBeanFactory(AbstractApplicationContext.java:422)
            at org.springframework.context.support.AbstractApplicationContext.refres
    h(AbstractApplicationContext.java:352)
            at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)
            at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
            at my.lincdoc.manager.ProposalManager.getAllProposalInfo(ProposalManager
    .java:183)
            at my.lincdoc.manager.ProposalManager.eliminateDuplicate(ProposalManager
    .java:194)
            at my.lincdoc.controller.ProposalController.RetrieveProposalForm(Proposa
    lController.java:70)
            at my.lincdoc.common.App.main(App.java:16)
    Caused by: java.io.FileNotFoundException: class path resource [spring/config/Bea
    nLocations.xml] cannot be opened because it does not exist
            at org.springframework.core.io.ClassPathResource.getInputStream(ClassPat
    hResource.java:143)
            at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
    nDefinitions(XmlBeanDefinitionReader.java:336)
            ... 16 more

Я поместил BeanLocations.xml внутри src/main/resources/spring/config/ папка

ApplicationContext appContext =  new ClassPathXmlApplicationContext("spring/config/BeanLocations.xml"); 
ProposalFormBo proposalFormBo = (ProposalFormBo) appContext.getBean("proposalBo");

1 Ответ

1 голос
/ 19 ноября 2011

Удостоверьтесь, что вы включаете не классовые ресурсы в свой jar. Разархивируйте свою банку и убедитесь, что файл там (я бы поспорил, что его там нет). Вам нужно настроить, как вы генерируете свою банку, чтобы включить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...