Question

I'm using json-schema-validator and guava in the same project. When I try to update either one I get a conflict for findbugs, so one lib is left out.

The working versions are:

  • json-schema-validator 2.0.0
  • guava 13.0.1

Both rely on findbugs 1.3.9

The version I'd like to use:

  • json-schema-validator 2.2.1
  • guava 16.0.1

Here json-schema-validator needs findbugs (jsr305) 2.0.1 and guava needs findbugs 1.3.9. Is there any way around this problem? With that I mean that I can use json-schema-validator version 2.2.1 and guava 16.0.1 in my project.

Sample files:

build.xml

<project name="example" default="download"
         xmlns:ivy="antlib:org.apache.ivy.ant">
  <target name="download" description="resolve dependencies with ivy">
    <ivy:resolve />
    <ivy:retrieve sync="true" type="jar"/>
  </target>
</project>

ivy.xml, working

<?xml version="1.0" encoding="ISO-8859-1"?>
 <ivy-module version="2.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="example" module="example" status="integration">
    </info>
    <dependencies>
         <dependency org="com.github.fge" name="json-schema-validator" rev="2.0.0" />
         <dependency org="com.google.guava" name="guava" rev="13.0.1" />
    </dependencies>
 </ivy-module>

ivy.xml, not working

<?xml version="1.0" encoding="ISO-8859-1"?>
 <ivy-module version="2.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="example" module="example" status="integration">
    </info>
    <dependencies>
         <dependency org="com.github.fge" name="json-schema-validator" rev="2.2.1" />
         <dependency org="com.google.guava" name="guava" rev="16.0.1" />
    </dependencies>
 </ivy-module>

eviction notice:

[ivy:resolve]   :: evicted modules:
[ivy:resolve]   com.google.code.findbugs#jsr305;1.3.9 by [com.google.code.findbugs#jsr305;2.0.1] in [default]
Was it helpful?

Solution

@Julien thanks for the hint, according to the example there I changed the retrieve line to

<ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>

and it works now.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top