Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Maven + OLAP4J resolving transitive dependenc

2011-10-26
2013-08-23
  • I'm trying to pull down mondrian 3.3 and olap4j 1.0 with maven. I've
    configured my POM like this:

        <repositories>
            <repository>
                <id>thirdparty.pentaho.org</id>
                <name>thirdparty.pentaho.org-snapshots</name>
                <url>[url]http://repository.pentaho.org/artifactory/thirdparty</url[/url]>
            </repository>
            <repository>
                <snapshots/>
                <id>repo.pentaho.org</id>
                <name>repo.pentaho.org-snapshots</name>
                <url>[url]http://repository.pentaho.org/artifactory/pentaho</url[/url]>
            </repository>
        </repositories>
        ...
            <dependency>
                <groupId>org.olap4j</groupId>
                <artifactId>olap4j</artifactId>
                <version>1.0.0-SNAPSHOT</version>
                <scope>compile</scope>
           </dependency>
    
            <dependency>
                <groupId>org.olap4j</groupId>
                <artifactId>olap4j-xmla</artifactId>
                <version>1.0.0-SNAPSHOT</version>
                <scope>compile</scope>
                <type>jar</type>
            </dependency>
    
            <dependency>
                <groupId>pentaho</groupId>
                <artifactId>mondrian</artifactId>
                <version>3.3-SNAPSHOT</version>
                <scope>compile</scope>
                <type>jar</type>
                <exclusions>
                    <exclusion>
                        <groupId>javax.jms</groupId>
                        <artifactId>jms</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>sun</groupId>
                        <artifactId>jlfgr</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            ...
    

    And I continue to get the following error message:

    [ERROR] Failed to execute goal on project archiver: Could not resolve dependencies for project com.fuseanalytics:archiver:war:1.0-SNAPSHOT: The following artifacts could not be resolved: javacup:javacup:jar:10k, eigenbase:eigenbase-xom:jar:1.3.0.13768, eigenbase:eigenbase-properties:jar:1.1.0.10924, eigenbase:eigenbase-resgen:jar:1.3.0.13768: Could not find artifact javacup:javacup:jar:10k in sonatype-nexus-snapshots ([url]http://repository.sonatype.org)[/url] -> [Help 1]
    

    If I exclude those resources I can get past that, but that doesn't seem like
    the right thing to do since I actually need those dependencies when I package
    the application. It seems all transitive dependencies for olap4j and mondrian
    will NOT resolve. You can see I tried adding the thirdparty repository to my
    list of repositories. It doesn't help. With or without that configuration. I
    can't figure out how in the world maven is suppose to know where javacup,
    eigenbase-*, etc are suppose to be because the POM on the repository doesn't
    declare where those dependencies live. I'm using maven 3.

    I'm pulling my hair out as it's been 2 days of maven hell with this. Can
    anyone help me fix this?

     
  • Luc Boudreau
    Luc Boudreau
    2011-10-26

    We are using Maven for one of our projects and the resolution is done
    correctly. Here are the details:

    <repository>
      <id>pentaho</id>
      <url>[url]http://repository.pentaho.org/artifactory/repo/</url[/url]>
      <snapshots>
      <enabled>true</enabled>
      </snapshots>
    </repository>
    (...)
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>mondrian</artifactId>
      <version>3.3.0.14703</version>
    </dependency>
    

    This will pull both Mondrian 3.3.0.14703 and olap4j 1.0.0.445.

     
  • Julian Hyde
    Julian Hyde
    2013-08-23

    We've just switched to use maven as the build tool. So, fom olap4j version 2 onwards, olap4j will come with a Pom.xml that accurately reflects its dependencies.