-
Notifications
You must be signed in to change notification settings - Fork 75
Version Conflict #27
Comments
@johaq thanks for the report. I am sure you are right, but I can't fully understand your report based on the formatting you presented. Could you please share one example of a Gradle dependencies section you're trying to set-up that fails? |
Using maven not gradle.
|
I understand it now, thanks. This unfortunately doesn't have an easy solution. Suggestions are welcome, meanwhile this is noted as an important thing to fix and support properly. |
Should be a simple fix extending the version range in the people_msgs pom, no? In
|
That may solve it for this case in particular, but not for others who run into the same issue. Besides, the reason that range has that value is because this particular version of people_msgs was built with rosjava message generation as it was in version 0.1.x so changing the dependency range manually introduces the risk that you will be running with wrong classes (a version it wasn't built with). I am interested in finding workarounds in the meantime. For example, in Gradle it is possible to specify that you want to exclude some dependencies when you request a package. In this case, things may work if you specify to exclude 'message_generation' from the 'people_msgs' dependency declaration. Is there any way to do that with maven directly as well? I would assume yes. |
Newest version of people_msgs is 1.0.10 but 1.0.4 is latest here. re-generate should fix the issues in this case. For maven there is: exclude-dependencies |
I don't know how I missed that. I actually went to the people_msgs repo to check and somehow thought there wasn't any newer version. |
ok, I updated people_maps to 1.0.10 with the new dependency range. @johaq could you please try to see if that fixes your issue in particular? |
Hi all. It's not clear how to resolve this issue. I'm following the instructions as described here: <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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.doulos</groupId>
<artifactId>test-rosjava</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>nbm</packaging>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<version>4.1</version>
<extensions>true</extensions>
<configuration>
<useOSGiDependencies>true</useOSGiDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>netbeans</id>
<name>Repository hosting NetBeans modules</name>
<url>http://bits.netbeans.org/nexus/content/groups/netbeans/</url>
<!--<url>http://bits.netbeans.org/nexus/content/groups/netbeans</url>-->
</repository>
<repository>
<id>ros</id>
<name>ros</name>
<url>https://github.com/rosjava/rosjava_mvn_repo/raw/master</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.ros.rosjava_core</groupId>
<artifactId>rosjava</artifactId>
<version>0.2.2</version>
<type>jar</type>
</dependency>
</dependencies> From the dependencies resolution output, it looks like this:
Does anyone building a maven project have a working example of the setup that is required to use rosjava? It seems like there's more to it than how traditional maven projects are setup. Or maybe I'm using the wrong repo to resolve the dependencies? |
@gbivins if you split the error in lines you can see what's happening:
Take a look: Try upgrading rosjava to kinetic (that is rosjava:[0.3, 0.4)); the API shouldn't have changed significantly, and many bug fixes were targeted to Kinetic. This issue was solved for Kinetic builds, as all messages have been rebuilt with the new dependency. I think the problem behind is that tf2_msgs didn't change version number since Indigo. Edit: a hacky workaround is to go to the POM file of your |
Hey @jubeira . This compiles now but after the following changes:
|
Some old messages depend on an older version of
message_generation
.Example:
Makes it impossible to include newest version of some messages with maven.
The text was updated successfully, but these errors were encountered: