Search code examples
mavenmaven-dependency

maven system scope dependency could not be resolved


I have an application which run on IBM Was. It is a maven Project and On its dependency tree There are some was runtime dependencies but their scopes are system.

These system scope jars do not exists in .m2/repository or our local nexus. But I can compile Project (mvn clean install) in my local environment. Some how, maven could find these jars.

[INFO] |  |  +- com.ibm.was:was-server-runtime-lib:pom:7.0.0:provided
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.wccm:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.emf:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:j2ee:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:mail-impl:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.runtime:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.ejbportable:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.admin.core:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.admin.services:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.portletcontainer:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:bootstrap:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.sib.server:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.sip.container:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.sip.interface:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.webcontainer:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:marshall:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:ffdcSupport:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:wsatlib:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.runtime.dist:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.mq:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.mq.headers:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.mq.pcf:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.mq.jmqi:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.mq.connector:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.mq.commonservices:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:dhbcore:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:org.eclipse.emf.common:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:org.eclipse.emf.commonj.sdo:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore.change:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore.sdo:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore.xmi:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.wsdl4j:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.jaxb.tools:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.jaxws.tools:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.wsfp.main:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.vajava:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:rsadbutils:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.jpa:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.commonj-twm:jar:7.0.0:system
[INFO] |  |  |  +- com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.soap:jar:7.0.0:system
[INFO] |  |  |  \- com.ibm.websphere.application.server.v7.0:com.ibm.mqjms:jar:7.0.0:system

But, On build server these jar could not be found and following error occurs.

The following artifacts could not be resolved: com.ibm.websphere.application.server.v7.0:com.ibm.ws.wccm:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.emf:jar:7.0.0, com.ibm.websphere.application.server.v7.0:j2ee:jar:7.0.0, com.ibm.websphere.application.server.v7.0:mail-impl:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.runtime:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.ejbportable:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.admin.core:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.admin.services:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.portletcontainer:jar:7.0.0, com.ibm.websphere.application.server.v7.0:bootstrap:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.sib.server:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.sip.container:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.sip.interface:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.webcontainer:jar:7.0.0, com.ibm.websphere.application.server.v7.0:marshall:jar:7.0.0, com.ibm.websphere.application.server.v7.0:ffdcSupport:jar:7.0.0, com.ibm.websphere.application.server.v7.0:wsatlib:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.runtime.dist:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mq:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mq.headers:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mq.pcf:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mq.jmqi:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mq.connector:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mq.commonservices:jar:7.0.0, com.ibm.websphere.application.server.v7.0:dhbcore:jar:7.0.0, com.ibm.websphere.application.server.v7.0:org.eclipse.emf.common:jar:7.0.0, com.ibm.websphere.application.server.v7.0:org.eclipse.emf.commonj.sdo:jar:7.0.0, com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore.change:jar:7.0.0, com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore.sdo:jar:7.0.0, com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore.xmi:jar:7.0.0, com.ibm.websphere.application.server.v7.0:org.eclipse.emf.ecore:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.wsdl4j:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.jaxb.tools:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.jaxws.tools:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.wsfp.main:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.vajava:jar:7.0.0, com.ibm.websphere.application.server.v7.0:rsadbutils:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.jpa:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.commonj-twm:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.ws.prereq.soap:jar:7.0.0, com.ibm.websphere.application.server.v7.0:com.ibm.mqjms:jar:7.0.0: Could not find artifact com.ibm.websphere.application.server.v7.0:com.ibm.ws.wccm:jar:7.0.0 at specified path C:\..\com.ibm.ws.wccm.jar -> [Help 1]

Solution

  • System scope dependecies are not downloaded from nexus repositories. They supposed to exist in the system where it is specified in pom file. I have realized there are some system path in the pom file and releted jar should exists in this folder. In order to solve the problem, I have created a folder in the exact same location and copied all related jars to this folder. Afterwards, I was able to compile the Project.

    Sample pom file content for system scope dependency, For this sample missing jars should be copied to c:\SharedSystemLib. That's all.

    <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>com.ibm.ws.wccm</artifactId>
        <version>${version}</version>
        <scope>system</scope>
        <systemPath>c:\SharedSystemLib</systemPath>
    </dependency>