2014-03-07 17 views
1

我的maven JAR應用程序由兩個模塊組成 - framefowrk和accounting - 以及一個聚合器。模塊框架定義了會計中使用的一些彈簧類。會計 包含一個main-Class和該框架作爲maven依賴項。我通過「Run as-> Java Application」在eclipse中運行Main-Class - 一切正常。現在,我嘗試使用使用mvn exec執行spring應用程序:java

MVN EXEC來執行主:JAVA -Dexec.mainClass = 「accounting.MyMainClass」

的命令產生以下輸出:

ava.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: java.io.IOException: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'jcrSessionFactory' is defined 
... 6 more 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'jcrSessionFactory' is defined 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1094) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:276) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) 
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079) 
... 

顯然春天的東西在會計中不知道。我想知道「Run as-> Java Application」和mvn exec:java之間的區別在哪裏以及如何解決問題。

謝謝。

+0

除了對這個主類的引用外,Eclipse中這個類的運行配置中是否有任何內容? JVM的參數,也許? – ATG

+0

檢查錯誤消息:':org.springframework.beans.factory.NoSuchBeanDefinitionException:沒有名爲'jcrSessionFactory'的Bean被定義爲 ... 6 more'。 – khmarbaise

+0

在eclipse Run As中沒有任何配置,全部是默認/空的。該jcrSessionFactory豆似乎也行:'<豆ID = 「jcrSessionFactory」 級= 「org.springmodules.jcr.JcrSessionFactory」> <屬性名= 「庫」 REF = 「資源庫」/> ' – leogl

回答

1

也許你需要「mvn install」你的框架依賴?那裏的變化不會到達Maven,但可能在Eclipse中可見。

可能出錯的另一件事是訂購。你是如何加載配置的?如果它依賴於訂單(例如,使用帶有重複的bean名稱的classpath*:或帶有重複文件名的classpath:),那麼結果可能會不同。

+0

謝謝你,但模塊安裝乾淨 – leogl

相關問題