我有一个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