1 Reply Latest reply on Jul 2, 2013 1:20 PM by orotas

    Unresolved references to [org.osgi.service.component]

    anderson.nt

      Hi,

       

      I'm trying to create a bundle using maven-bundle-plugin. The pom.xml of the project is:

       

      <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/maven-v4_0_0.xsd">

                  

          <modelVersion>4.0.0</modelVersion>

          <groupId>com.adobe.support.examples</groupId>

          <artifactId>com.adobe.support.examples.osgi.service</artifactId>

          <version>1.0.8</version>

          <packaging>bundle</packaging>

          <name>OSGi Service Example</name>

          <url>http://blogs.adobe.com/kmossman</url>

          <description>Adobe Developer Support OSGi Service Example</description>

          <!-- 

          Credit: This example is based on Moritz Havelock's http://in-the-sling.blogspot.com/

          

          I suggest you use the most current versions of the plugin's.

          Search the Central Repository for the most current versions http://search.maven.org/

          

          Use the search strings below and update the appropriate versions

          

          // Felix

          g:"org.apache.felix" a:"org.apache.felix.framework"

          g:"org.apache.felix" a:"maven-bundle-plugin"

          g:"org.apache.felix" a:"maven-scr-plugin"

          g:"org.apache.felix" a:"org.osgi.core"

          // Maven

          g:"org.apache.maven.plugins" a:"maven-compiler-plugin" 

          // Sling

          g:"org.apache.sling" a:"maven-sling-plugin"

          -->

          <properties>

              <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

              <project.build.java.version>1.6</project.build.java.version>

              <!-- Felix -->

              <org.apache.felix.framework.version>4.0.2</org.apache.felix.framework.version>

              <org.apache.felix.maven-bundle-plugin.version>2.3.7</org.apache.felix.maven-bundle-plugin .version>   

              <org.apache.felix.maven-src-plugin.version>1.7.4</org.apache.felix.maven-src-plugin.versi on>

              <org.apache.felix.org.osgi.core>1.4.0</org.apache.felix.org.osgi.core>

              <!-- Maven -->

              <org.apache.maven.plugins.maven-compiler-plugin.version>2.3.2</org.apache.maven.plugins.m aven-compiler-plugin.version>

              <org.apache.maven.plugins.maven-surefire-plugin.version>2.12</org.apache.maven.plugins.ma ven-surefire-plugin.version>

              <!-- Sling -->

              <org.apache.sling.maven-sling-plugin.version>2.1.0</org.apache.sling.maven-sling-plugin.v ersion>

          </properties>

          <build>

          

              <plugins>

                  <!--  Maven will compile our source java classes using

                   the "project.build.java.version" specified -->

                  <plugin>

                      <groupId>org.apache.maven.plugins</groupId>

                      <artifactId>maven-compiler-plugin</artifactId>

                      <version>${org.apache.maven.plugins.maven-compiler-plugin.version}</version>

                      <configuration>

                        <source>${project.build.java.version}</source>

                        <target>${project.build.java.version}</target>

                      </configuration>

                  </plugin>

                  <!--  this will install the OSGi bundle into Sling for us

                  we now upload the jar file automatically when we build with this plug-in -->

                  <plugin>

                      <groupId>org.apache.sling</groupId>

                      <artifactId>maven-sling-plugin</artifactId>

                      <version>${org.apache.sling.maven-sling-plugin.version}</version>

                      <executions>

                          <execution>

                              <id>install-bundle</id>

                              <goals>

                                  <goal>install</goal>

                              </goals>

                              <configuration>

                                  <slingUrl>http://localhost:4502/system/console/install</slingUrl>

                                  <user>admin</user>

                                  <password>admin</password>

                              </configuration>

                          </execution>

                      </executions>

                  </plugin>

                  <plugin>

                      <!-- This will create the OSGI-INF for us that handles the Activator Class for us

                      we now auto-generate the details in our bundle with this plug-in-->

                      <groupId>org.apache.felix</groupId>

                      <artifactId>maven-scr-plugin</artifactId>

                      <extensions>true</extensions>

                      <version>${org.apache.felix.maven-src-plugin.version}</version>

                      <executions>

                          <execution>

                              <id>generate-scr-scrdescriptor</id>

                              <goals>

                                  <goal>scr</goal>

                              </goals>

                          </execution>

                      </executions>

                  </plugin>        

                  <plugin>

                      <!-- This will create the OSGi /META-INF/MANIFEST.MF for us

                      we now auto-generated the filea for us with this plug-in -->

                      <groupId>org.apache.felix</groupId>

                      <artifactId>maven-bundle-plugin</artifactId>

                      <extensions>true</extensions>

                      <version>${org.apache.felix.maven-bundle-plugin.version}</version>

                      <configuration>

                          <instructions>

                              <Export-Package>com.adobe.support.examples.osgi.service</Export-Package>

                              <Import-Package>org.osgi.framework;version="1.3.0"</Import-Package>

                              <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>

                              <Bundle-Name>${project.name}</Bundle-Name>

                              <Bundle-Vendor>Kurt Mossman</Bundle-Vendor>

                              <!--

                                  Inserting content into the JCR and installing some files on the server with your bundle.

                              

                                  Sling-Initial-Content

                                  

                                      The first line will overwrite the contents of the node at content/osgitest with test.json

                                      NOTE: uninstall:=false says that it will not remove the content when I remove the package.

                                          This could be set to true to also remove the content when the package is removed the choice is yours.

                                      

                                      The second line will overwrite the path will install the files and overwrite them if you re-install.

                               -->

                              <Sling-Initial-Content>

                                  SLING-INF/initial-content/content/osgitest;path:=/content/osgitest;overwrite:=true;uninst all:=false,

                                  SLING-INF/initial-content/apps/samples/osgitest;path:=/apps/samples/osgitest;overwrite:=t rue;uninstall:=true

                              </Sling-Initial-Content>

                          </instructions>

                      </configuration>

                  </plugin>

                  <!--  use the surefire plugin to run the test cases

                  we use a thread count of 4 to increase the performance of the test time. -->

                  <plugin>

                     <groupId>org.apache.maven.plugins</groupId>

                     <artifactId>maven-surefire-plugin</artifactId>

                     <version>${org.apache.maven.plugins.maven-surefire-plugin.version}</version>

                     <configuration>

                          <parallel>methods</parallel>

                          <threadCount>4</threadCount>

                     </configuration>

                  </plugin>

              </plugins>

          </build>

          <dependencies>

              <dependency>

                  <groupId>org.apache.felix</groupId>

                  <artifactId>org.osgi.core</artifactId>

                  <version>${org.apache.felix.org.osgi.core}</version>

              </dependency>

              <dependency>

                  <groupId>junit</groupId>

                  <artifactId>junit</artifactId>

                  <version>4.8.2</version>

              </dependency>

              <dependency>

                  <groupId>org.apache.felix</groupId>

                  <artifactId>org.apache.felix.scr.annotations</artifactId>

                  <version>1.9.0</version>

              </dependency>

              <dependency>

                <groupId>org.apache.felix</groupId>

                <artifactId>org.osgi.compendium</artifactId>

                <version>1.4.0</version>

      </dependency>

          </dependencies>

      </project>

       

      I am getting the below error when I run mvn install command.

      "Unresolved references to [org.osgi.service.component] by class(es) on the Bundle-Classpath[Jar:dot]: [com/adobe/support/examples/com/adobe/support/examples/osgi/service/SampleServiceImpl.cla ss]"

      Could you please help me to fix it?

      Regards,

      Anderson