2016-03-06 132 views
1

我認爲我正在繼承一個我已經繼承的大型Maven Multimode項目,取得良好進展。對於Tomcat和JAVA項目,我是一個完整的初學者,所以請原諒我的天真。我相信我需要知道如何定義我的JDBC屬性配置的位置,但我不會從哪裏開始尋求誠實。class path resource [default/jdbc.properties]無法打開,因爲它不存在

我想通過終端運行我的項目與「mvn tomcat7:運行」並收到嚴重的錯誤,如下所述。

特定的錯誤原因:

造成的:org.springframework.beans.factory.BeanCreationException: 錯誤創建名稱爲 'eu.digient.billfold.support.dao.properties' 豆:調用init 方法失敗;嵌套的例外是java.io.FileNotFoundException: 類路徑資源[默認/ jdbc.properties]不能打開,因爲 不存在

我已經找到了這個字符串在很多人的Maven裏面我.IML文件項目,語法是什麼意思,它在哪裏尋找配置?

<util:properties id="eu.digient.billfold.support.dao.properties" 
       location="classpath:#{systemProperties['configProfile']?:'default'}/jdbc.properties" /> 

關於JBDC配置的任何提示和建議會很好,我知道它是用來定義數據庫連接的細節。在這種情況下,連接到Hibernate的JAVA,這對我來說是全新的。

(我不知道怎麼把它添加如下比通過其他塊引用一大塊,所以說,如果我錯過了一個更可讀的方式方法?)

完整的終端錯誤輸出:

嚴重:異常發送上下文初始化事件監聽器類org.springframework.web.context.ContextLoaderListener的實例 org.springframework.beans.factory.BeanCreationException:創建名稱爲豆錯誤「org.springframework.context.support .PropertySourcesPlaceholderConfigurer#0':無法解析對bean'eu.digient.billfold.support.dao.properties'w的引用hile設置bean屬性'properties';嵌套異常是org.springframework.beans.factory.BeanCreationException:創建名爲'eu.digient.billfold.support.dao.properties'的bean時出錯:init方法的調用失敗;嵌套異常是java.io.FileNotFoundException:類路徑資源[default/jdbc.properties]無法打開,因爲它不存在 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) 在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) 在org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 在org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295) 在org.springframework .beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans。factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) 在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198) 在org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors( AbstractApplicationContext.java:657) 在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 在org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) 的組織。 springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina。 core.StatardContext.listenerStart(StandardContext.java:4797) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java: 150) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549) at java。 util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java: 617) at java.lang.Thread.run(Thread.java:745) 造成者:org.springframework.beans.factory.BeanCre ationException:創建名爲'eu.digient.billfold.support.dao.properties'的bean時出錯:init方法的調用失敗;嵌套異常是java.io.FileNotFoundException:類路徑資源[default/jdbc.properties]無法打開,因爲它不存在 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 在org.springframework.beans .factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springf在org.springframework.beans.factory的org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) (ramework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) )。 support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) ... 23更多 導致:java.io.FileNotFoundException:類路徑資源[default/jdbc.properties]無法打開,因爲它不存在 at org。 springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157) at org.springframework.core.io.support.EncodedResource.getInputStream(EncodedResource.java:143) at org.springframework.core.io.support。 PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:98) 在org.springframework.core.io.support.PropertiesLoaderSupport.loadProperties(PropertiesLoaderSupport.java:175) 在org.springframework.core.io.support.PropertiesLoaderSupport.mergeProperties(PropertiesLoaderSupport.java:156) 在org.springframework。 beans.factory.config.PropertiesFactoryBean.createInstance(PropertiesFactoryBean.java:113) at org.springframework.beans.factory.config.PropertiesFactoryBean.createProperties(PropertiesFactoryBean.java:98) at org.springframework.beans.factory.config。 PropertiesFactoryBean.afterPropertiesSet(PropertiesFactoryBean.java:69) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) ...... 30多個

回答

1

jdbc.properties文件src\main\resources\default目錄

+0

優秀我會嘗試,因爲我的項目是多模式,我必須爲所有圖層做這個嗎?我假設這麼想,因爲大多數圖層在IML中都有「classpath:#{systemProperties ['configProfile']?:'default'}/jdbc.properties」字符串。這個字符串是一個標準嗎?我很想深入瞭解它的含義。 – Beloudest

+0

對不起,我必須在運行項目之前在本地設置一個數據庫,或者當項目作爲配置的一部分引導時,Hibernate會啓動它。我習慣於連接到現有的MYSQL數據庫。這個項目以前曾經工作過,似乎大部分都是配置好的,但在本地修復依賴關係是一項非常艱鉅的任務。 – Beloudest

+0

@Beloudest:「>我爲所有圖層都這樣做?」 - 您可以在每個Maven模塊中執行此操作,只要它被引用到JAR中,並且該JAR將隨應用程序一起部署。這是因爲「classpath:」在所有jar中掃描。但是我不知道會發生什麼情況,如果你有多個具有相同名稱的文件並且在同一個文件夾中 – Ralph

相關問題