Search code examples
mavenintuit-partner-platform

Missing parent pom for Intuit's Java V3 SDK for QBO


I'm updating to the latest version (2.3.2) of the Java V3 SDK for QBO. Following the instructions on the IPP developer site, I'm running into issues on Step 5: Install the Dependencies.

I checked out the sample application (which uses a deprecated version of the API) as listed in the documentation. After modifying the the maven install commands listed in the documentation to match the versions in the sample application, I can install the deprecated SDK dependencies:

## ipp-v3-java-devkit-2.0.1-jar-with-dependencies.jar
mvn install:install-file 
  -DgroupId=com.intuit.code.devkit.v3
  -DartifactId=ipp-v3-java-devkit
  -Dversion=2.0.1
  -Dpackaging=jar
  -Dfile=./QuickbooksV3API-Java/QuickbooksV3API/src/main/resources/dependencies/ipp-v3-java-devkit-2.0.1-jar-with-dependencies.jar

## ipp-java-qbapihelper-1.2.0.jar
mvn install:install-file
  -DgroupId=com.intuit.code.devkit.qbhelper
  -DartifactId=ipp-java-qbapihelper
  -Dversion=1.2.0 -Dpackaging=jar
  -Dfile=./QuickbooksV3API-Java/QuickbooksV3API/src/main/resources/dependencies/ipp-java-qbapihelper-1.2.0.jar

At this point I am able to run the sample application and successfully connect to QBO via the API.

Now that I've downloaded the latest IPP V3 Java SDK (24MB download) provided in the documentation the maven install command fails:

## ipp-v3-java-devkit-2.3.2-jar-with-dependencies.jar
mvn install:install-file
  -DgroupId=com.intuit.code.devkit.v3
  -DartifactId=ipp-v3-java-devkit
  -Dversion=2.3.2
  -Dpackaging=jar
  -Dfile=./ipp-v3-java-devkit-2.3.2-jar-with-dependencies.jar

Resulting in:

[ERROR] The project com.intuit.code.devkit.v3:ipp-v3-java-devkit-pom:2.3.3-SNAPSHOT
        (C:\...\JavaV3SDK2.3.2\pom.xml) has 1 error
[ERROR]   Non-resolvable parent POM: Failure to find
          com.intuit.sb.tool.build.parent-pom:sb-parent-pom:pom:5.0.2
          in http://repo.maven.apache.org/maven2 was cached in the local
          repository, resolution will not be reattempted until the update
          interval of central has elapsed or updates are forced and
          'parent.relativePath' points at wrong local POM @ line 4,
          column 10 -> [Help 2]

I've searched high and low for this parent POM artifact to no avail: com.intuit.sb.tool.build.parent-pom:sb-parent-pom:pom:5.0.2

Should the latest SDK download include the parent POM or am I missing something else?


Solution

  • Place the updated jar (ipp-v3-java-devkit-2.3.2-jar-with-dependencies.jar) alongside the previous one in the sample application, specifically: QuickbooksV3API-Java\QuickbooksV3API\src\main\resources\dependencies\

    Now run maven install as before, just change the version numbers:

    mvn install:install-file 
      -DgroupId=com.intuit.code.devkit.v3
      -DartifactId=ipp-v3-java-devkit
      -Dversion=2.3.2
      -Dpackaging=jar
      -Dfile=./QuickbooksV3API-Java/QuickbooksV3API/src/main/resources/dependencies/ipp-v3-java-devkit-2.3.2-jar-with-dependencies.jar
    

    While I'm not exactly sure why this works, I assume it has something to do with resources in paths relative to the jar itself.