我有一個pom.xml的依賴項目中,包括第2級依賴性:如何使用maven
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.2</version>
</dependency>
公共電子郵件取決於javax.mail-1.4.1
我跑MVN安裝將projectA.jar安裝到本地maven倉庫中。
在項目B中,我依賴projectA.jar。 當我運行項目B,失敗是由於使用javax缺少類文件:
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
java.lang.ClassNotFoundException: com.sun.mail.smtp.SMTPTransport
我怎樣才能成功運行B項目沒有明確地把對javax.mail罐子行家入門?
編輯:
我想我找到了問題。 我正在使用maven-shade-plugin with true,它正在刪除org.apache.commons:commons-email:已安裝(.m2)項目中的jar依賴項一個pom文件。
註釋項目A的maven-shade-plugin解決了依賴性問題。
你是如何運行你的應用程序?它是一個特定於Maven的插件(例如jetty:run)還是你在eclipse中運行它? – 2010-10-06 22:26:33
我正在使用mvn測試直接編譯。沒有月食。 – 2010-10-11 22:05:39