我有一个使用Maven 3.5.0构建的Spring项目(Spring IO Brussels SR7)。
该项目依赖于Java Mail API,它在我的POM中被声明为提供的依赖项,因为它将部署在JBoss AS 7服务器上。
[INFO] com.mycompany.:spring4base:war:1.4.0-RELEASE
[INFO] +- org.springframework:spring-core:jar:4.3.14.RELEASE:compile
[INFO] +- org.springframework:spring-web:jar:4.3.14.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.14.RELEASE:compile
[INFO] | \- org.springframework:spring-beans:jar:4.3.14.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.3.14.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.3.14.RELEASE:compile
[INFO] +- org.springframework:spring-context:jar:4.3.14.RELEASE:compile
[INFO] +- org.springframework.data:spring-data-jpa:jar:1.11.10.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-commons:jar:1.13.10.RELEASE:compile
[INFO] | +- org.springframework:spring-orm:jar:4.3.14.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.3.14.RELEASE:compile
[INFO] | +- org.springframework:spring-tx:jar:4.3.14.RELEASE:compile
[INFO] | +- org.aspectj:aspectjrt:jar:1.8.13:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] | \- org.slf4j:jcl-over-slf4j:jar:1.7.25:runtime
[INFO] +- org.springframework.ldap:spring-ldap-core:jar:2.3.2.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-core:jar:4.2.4.RELEASE:compile
[INFO] | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] +- org.springframework.security:spring-security-config:jar:4.2.4.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-ldap:jar:4.2.4.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-taglibs:jar:4.2.4.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-acl:jar:4.2.4.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-web:jar:4.2.4.RELEASE:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile
[INFO] +- commons-io:commons-io:jar:2.5:compile
[INFO] +- org.olap4j:olap4j:jar:1.2.0:compile
[INFO] | \- xerces:xercesImpl:jar:2.11.0:compile
[INFO] | \- xml-apis:xml-apis:jar:1.4.01:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.5:compile
[INFO] +- commons-codec:commons-codec:jar:1.10:compile
[INFO] +- org.bouncycastle:bcprov-jdk15on:jar:1.51:compile
[INFO] +- net.sf.jasperreports:jasperreports:jar:6.4.3:compile
[INFO] | +- commons-beanutils:commons-beanutils:jar:1.9.3:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] | +- commons-digester:commons-digester:jar:2.1:compile
[INFO] | +- commons-logging:commons-logging:jar:1.2:compile
[INFO] | +- com.lowagie:itext:jar:2.1.7:compile
[INFO] | | +- bouncycastle:bcmail-jdk14:jar:138:compile
[INFO] | | +- bouncycastle:bcprov-jdk14:jar:138:compile
[INFO] | | \- org.bouncycastle:bctsp-jdk14:jar:1.38:compile
[INFO] | | +- org.bouncycastle:bcprov-jdk14:jar:1.38:compile
[INFO] | | \- org.bouncycastle:bcmail-jdk14:jar:1.38:compile
[INFO] | +- org.jfree:jcommon:jar:1.0.23:compile
[INFO] | +- org.jfree:jfreechart:jar:1.0.19:compile
[INFO] | +- org.eclipse.jdt.core.compiler:ecj:jar:4.4.2:compile
[INFO] | +- org.codehaus.castor:castor-xml:jar:1.4.1:compile
[INFO] | | +- org.codehaus.castor:castor-core:jar:1.4.1:compile
[INFO] | | +- org.apache.commons:commons-collections4:jar:4.1:compile
[INFO] | | \- javax.inject:javax.inject:jar:1:compile
[INFO] | +- org.apache.lucene:lucene-core:jar:4.5.1:compile
[INFO] | +- org.apache.lucene:lucene-analyzers-common:jar:4.5.1:compile
[INFO] | +- org.apache.lucene:lucene-queryparser:jar:4.5.1:compile
[INFO] | | +- org.apache.lucene:lucene-queries:jar:4.5.1:compile
[INFO] | | \- org.apache.lucene:lucene-sandbox:jar:4.5.1:compile
[INFO] | | \- jakarta-regexp:jakarta-regexp:jar:1.4:compile
[INFO] | +- com.google.zxing:core:jar:3.2.1:compile
[INFO] | \- com.ibm.icu:icu4j:jar:57.1:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.1.11:compile
[INFO] | \- ch.qos.logback:logback-core:jar:1.1.11:compile
[INFO] +- org.hibernate:hibernate-jpamodelgen:jar:5.0.12.Final:compile
[INFO] | \- org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
[INFO] +- org.hibernate:hibernate-core:jar:5.0.12.Final:provided
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:provided
[INFO] | +- org.javassist:javassist:jar:3.21.0-GA:provided
[INFO] | +- antlr:antlr:jar:2.7.7:provided
[INFO] | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:provided
[INFO] | +- org.jboss:jandex:jar:2.0.0.Final:provided
[INFO] | +- dom4j:dom4j:jar:1.6.1:provided
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:provided
[INFO] +- org.hibernate:hibernate-entitymanager:jar:5.0.12.Final:provided
[INFO] +- org.hibernate:hibernate-validator:jar:5.3.6.Final:provided
[INFO] | \- com.fasterxml:classmate:jar:1.3.4:provided
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] +- javax.servlet.jsp:javax.servlet.jsp-api:jar:2.3.2-b02:provided
[INFO] +- javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:jar:1.2.1:provided
[INFO] +- javax.validation:validation-api:jar:1.1.0.Final:provided
[INFO] +- javax.servlet:jstl:jar:1.2:provided
[INFO] +- javax.mail:javax.mail-api:jar:1.5.6:test
[INFO] +- org.springframework:spring-test:jar:4.3.14.RELEASE:test
[INFO] +- javax.el:javax.el-api:jar:2.2.5:test
[INFO] +- org.glassfish.web:javax.el:jar:2.2.4:test
[INFO] +- org.mockito:mockito-core:jar:1.10.19:test
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] | \- org.objenesis:objenesis:jar:2.5.1:test
[INFO] +- junit:junit:jar:4.12:test
[INFO] \- org.hamcrest:hamcrest-all:jar:1.3:test
版本被省略,因为依赖项由Spring IO平台管理。布鲁塞尔SR7版本为1.5.6。
运行我的测试我收到以下错误:
# 0. Create data
df <- mtcars[1:6, 1:4]
编译和测试需要Java Mail API。
查看我的本地.m2存储库,我可以看到javax.mail-1.5.6.jar具有com.sun.mail.util.PropUtil类。运行mvn依赖:树,我得到了这个:
mpg cyl disp hp
Mazda RX4 21.0 6 160 110
Mazda RX4 Wag 21.0 6 160 110
Datsun 710 22.8 4 108 93
Hornet 4 Drive 21.4 6 258 110
Hornet Sportabout 18.7 8 360 175
Valiant 18.1 6 225 105
我的问题是:我应该如何设置我的Maven POM以使其按预期工作?
谢谢
答案 0 :(得分:1)
这里涉及两个罐子:
第一个jar包含测试中缺少的类(这是您在.m2-repo中检查的文件)。第二个罐子是你包含在你的pom中的罐子。尝试添加第一个jar作为附加依赖。