Search code examples
raspberry-piosgiiotenroute

can not find osgi.enroute.iot.pi.provider dependency


I am trying to do this tutorial

http://enroute.osgi.org/tutorial_iot/120-exploring.html

but I have got a problem with:

osgi.enroute.iot.pi.provider

package is not find so I can resolve bndrun dependencies:

Unable to resolve <<INITIAL>> version=null:
   missing requirement osgi.enroute.iot.pi.provider

and when I try with

osgi.enroute.iot.pi.command

dependencies not found:

Unable to resolve <<INITIAL>> version=null:
   missing requirement enroute.iot.raspberry.application  
->  Unable to resolve enroute.iot.raspberry.application version=1.0.0.201611270001:
   missing requirement com.pi4j.system]

I manually dowload and add pi4j in my project build path so I haven't no more eclipse problem but I fell that it is not a good solution for osgi and it not run on my remote raspberry ssh console...


Solution

  • Thanks to Daghan from the osgi mailing list who provide a solution:

    "osgi.enroute.iot.pi.provider" is no longer a part of enroute distro. Please remove the manually downloaded pi4j from your project and do the following:

    1- open cnf>central.xml

    2- Add the following

    <!-- https://mvnrepository.com/artifact/org.osgi/osgi.enroute.iot.pi.provider -->
    <dependency>
         <groupId>org.osgi</groupId>
        <artifactId>osgi.enroute.iot.pi.provider</artifactId>
        <version>2.0.0</version>
    </dependency>
    

    This solve my problem but the include pi4j dependency isn't up to date for raspberry so I prefer add

    <dependency>
        <groupId>com.pi4j</groupId>
        <artifactId>pi4j-core</artifactId>
        <version>1.1</version>
    </dependency>
    

    and everything works like a charm now!