2014-05-23 102 views
1

我有一個具有多個EJB依賴關係的EAR。這些1有一個提供範圍的依賴:Maven忽略爲javax.mail提供的作用域

<dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4</version> 
      <scope>provided</scope> 
</dependency> 

但罐內有罐子郵件1.4.3.jar(我扶養我以前刪除)

我已經試過:

mvn eclipse:clean 
mvn dependency:tree 
mvn dependency:analyze-only 

但是沒有辦法擺脫,如果這個罐子,引起了我`java.lang.ClassCastException:javax.mail.Session不能轉換爲javax.mail.Session服務器

這裏完整的pom.xml文件:

<!-- 
    ~ Copyright 2010-2012, CloudBees Inc. 
    ~ 
    ~ Licensed under the Apache License, Version 2.0 (the "License"); 
    ~ you may not use this file except in compliance with the License. 
    ~ You may obtain a copy of the License at 
    ~ 
    ~  http://www.apache.org/licenses/LICENSE-2.0 
    ~ 
    ~ Unless required by applicable law or agreed to in writing, software 
    ~ distributed under the License is distributed on an "AS IS" BASIS, 
    ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    ~ See the License for the specific language governing permissions and 
    ~ limitations under the License. 
    --> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>localdomain.localhost</groupId> 
    <artifactId>myApp</artifactId> 
    <packaging>war</packaging> 
    <version>1.0.2-SNAPSHOT</version> 
    <name>conFloorApp</name> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.mockito</groupId> 
      <artifactId>mockito-all</artifactId> 
      <version>1.8.4</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>3.2.8.RELEASE</version> 
      <type>jar</type> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.0.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>javax.servlet.jsp-api</artifactId> 
      <version>2.2.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp.jstl</groupId> 
      <artifactId>javax.servlet.jsp.jstl-api</artifactId> 
      <version>1.2.1</version> 
     </dependency> 
     <dependency> 
      <!-- Apache JSTL implementation --> 
      <groupId>org.glassfish.web</groupId> 
      <artifactId>javax.servlet.jsp.jstl</artifactId> 
      <version>1.2.2</version> 
      <exclusions> 
       <exclusion> 
        <!-- 
        use javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api, exclude this one 
        --> 
        <groupId>javax.servlet.jsp.jstl</groupId> 
        <artifactId>jstl-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <!-- used for the troubleshooting jsp datasource-mysql.jsp --> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.27</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>3.2.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>3.2.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>3.2.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>3.2.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>3.2.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>com.oracle</groupId> 
      <artifactId>ojdbc6</artifactId> 
      <version>11.2.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.6.3.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>3.2.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>javassist</groupId> 
      <artifactId>javassist</artifactId> 
      <version>3.12.1.GA</version> 
     </dependency> 
     <dependency> 
      <groupId>c3p0</groupId> 
      <artifactId>c3p0</artifactId> 
      <version>0.8.4.5</version> 
     </dependency> 
     <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
      <version>2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>3.2.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>3.2.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-aspects</artifactId> 
      <version>3.2.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.maxmind.geoip</groupId> 
      <artifactId>geoip-api</artifactId> 
      <version>1.2.11</version> 
     </dependency> 
     <dependency> 
      <groupId>com.github.dandelion</groupId> 
      <artifactId>datatables-jsp</artifactId> 
      <version>0.9.3</version> 
     </dependency> 
    </dependencies> 
    <build> 
     <extensions> 
      <extension> 
       <groupId>org.apache.maven.wagon</groupId> 
       <artifactId>wagon-webdav</artifactId> 
       <version>1.0-beta-2</version> 
      </extension> 
     </extensions> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <scm> 
     <connection>scm:git:https://github.com/CloudBees-community/tomcat7-maven-clickstart.git</connection> 
     <tag>HEAD</tag> 
    </scm> 
    <distributionManagement> 
     <repository> 
      <id>community-release</id> 
      <url>dav:https://repository-community.forge.cloudbees.com/release/</url> 
     </repository> 
     <snapshotRepository> 
      <id>community-snapshot</id> 
      <url>dav:https://repository-community.forge.cloudbees.com/snapshot/</url> 
     </snapshotRepository> 
    </distributionManagement> 

    <licenses> 
     <license> 
      <name>The Apache Software License, Version 2.0</name> 
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 
      <distribution>repo</distribution> 
     </license> 
    </licenses> 
</project> 

回答

1

您正在看錯的地方。這是你的pom的依賴關係樹。根據依賴樹,這個pom不會將mail.jar拉到其他地方。看看其他一些可能將mail.jar作爲依賴關係的項目。

命令檢查的依賴關係樹

mvn dependency:tree -Dverbose 

注意,只有一個被標記爲提供的mail.jar的條目,這POM是不是一個問題

[INFO] +- javax.mail:mail:jar:1.4:provided 
[INFO] | \- javax.activation:activation:jar:1.1:provided 

依賴樹的完整輸出

[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building conFloorApp 1.0.2-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ myApp --- 
[INFO] localdomain.localhost:myApp:war:1.0.2-SNAPSHOT 
[INFO] +- junit:junit:jar:4.8.1:test (scope not updated to compile) 
[INFO] +- org.mockito:mockito-all:jar:1.8.4:compile 
[INFO] +- org.springframework:spring-test:jar:3.2.8.RELEASE:test 
[INFO] | \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - scope updated from test; omitted for duplicate) 
[INFO] +- javax.servlet:javax.servlet-api:jar:3.0.1:provided 
[INFO] +- javax.servlet.jsp:javax.servlet.jsp-api:jar:2.2.1:provided 
[INFO] +- javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:jar:1.2.1:compile 
[INFO] +- org.glassfish.web:javax.servlet.jsp.jstl:jar:1.2.2:compile 
[INFO] +- mysql:mysql-connector-java:jar:5.1.27:provided 
[INFO] +- org.springframework:spring-context:jar:3.2.8.RELEASE:compile 
[INFO] | +- org.springframework:spring-aop:jar:3.2.8.RELEASE:compile 
[INFO] | | +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate) 
[INFO] | | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | | \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- org.springframework:spring-beans:jar:3.2.8.RELEASE:compile 
[INFO] | | \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- org.springframework:spring-expression:jar:3.2.8.RELEASE:compile 
[INFO] |  \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- org.springframework:spring-core:jar:3.2.8.RELEASE:compile 
[INFO] | \- commons-logging:commons-logging:jar:1.1.3:compile 
[INFO] +- org.springframework:spring-web:jar:3.2.8.RELEASE:compile 
[INFO] | +- (org.springframework:spring-aop:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- org.springframework:spring-webmvc:jar:3.2.8.RELEASE:compile 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-expression:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- (org.springframework:spring-web:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- org.springframework:spring-orm:jar:3.2.8.RELEASE:compile 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-jdbc:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- org.springframework:spring-tx:jar:3.2.8.RELEASE:compile 
[INFO] |  +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] |  \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- org.hibernate:hibernate-core:jar:3.6.3.Final:compile 
[INFO] | +- antlr:antlr:jar:2.7.6:compile 
[INFO] | +- commons-collections:commons-collections:jar:3.1:compile 
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile 
[INFO] | +- org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile 
[INFO] | | \- (org.slf4j:slf4j-api:jar:1.5.8:compile - omitted for conflict with 1.6.1) 
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:compile 
[INFO] | +- javax.transaction:jta:jar:1.1:compile 
[INFO] | \- org.slf4j:slf4j-api:jar:1.6.1:compile 
[INFO] +- org.springframework:spring-jdbc:jar:3.2.8.RELEASE:compile 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- (org.springframework:spring-tx:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- javassist:javassist:jar:3.12.1.GA:compile 
[INFO] +- c3p0:c3p0:jar:0.8.4.5:compile 
[INFO] +- cglib:cglib:jar:2.2:compile 
[INFO] | \- asm:asm:jar:3.1:compile 
[INFO] +- org.springframework.security:spring-security-web:jar:3.2.3.RELEASE:compile 
[INFO] | +- aopalliance:aopalliance:jar:1.0:compile 
[INFO] | +- org.springframework.security:spring-security-core:jar:3.2.3.RELEASE:compile 
[INFO] | | +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate) 
[INFO] | | +- (org.springframework:spring-aop:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | | +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | | +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | | \- (org.springframework:spring-expression:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-expression:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- (org.springframework:spring-web:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- org.springframework.security:spring-security-config:jar:3.2.3.RELEASE:compile 
[INFO] | +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate) 
[INFO] | +- (org.springframework.security:spring-security-core:jar:3.2.3.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-aop:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- org.springframework.security:spring-security-aspects:jar:3.2.3.RELEASE:compile 
[INFO] | +- (org.springframework.security:spring-security-core:jar:3.2.3.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] | \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for duplicate) 
[INFO] +- javax.mail:mail:jar:1.4:provided 
[INFO] | \- javax.activation:activation:jar:1.1:provided 
[INFO] +- com.maxmind.geoip:geoip-api:jar:1.2.11:compile 
[INFO] \- com.github.dandelion:datatables-jsp:jar:0.9.3:compile 
[INFO] +- com.github.dandelion:datatables-core:jar:0.9.3:compile 
[INFO] | +- com.googlecode.json-simple:json-simple:jar:1.1.1:compile 
[INFO] | | \- (junit:junit:jar:4.10:compile - omitted for conflict with 4.8.1) 
[INFO] | +- commons-beanutils:commons-beanutils:jar:1.8.3:compile 
[INFO] | \- (org.slf4j:slf4j-api:jar:1.7.5:compile - omitted for conflict with 1.6.1) 
[INFO] \- (org.slf4j:slf4j-api:jar:1.7.5:compile - omitted for conflict with 1.6.1) 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.611s 
[INFO] Finished at: Fri May 23 21:55:07 EDT 2014 
[INFO] Final Memory: 10M/245M 
[INFO] ------------------------------------------------------------------------