Thanks for all your answers.
I'm afraid that tutorial above doesn't solve my issue. but indeed the missing link was that the Java class wasn't visible to OSGi because it wasn't in the bundle manifest.
To correct that, I had to add the details for all of the imported and exported packages to the org.apache.felix:maven-bundle-plugin entry in the bundle projects pom.xml
Here's what my pom entry looks like:
<plugin><groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId><extensions>true</extensions><configuration><instructions><Bundle-SymbolicName>com.us.aem.sightly-stuff-bundle</Bundle-SymbolicName><Export-Package><!-- Let's export our primary package -->com.us.aem.impl.usebeans<!-- By default, don't export any other packages --></Export-Package><Import-Package><!-- JSR 250 && 330 -->javax.annotation;version=0.0.0.1_007_JavaSE,javax.inject,<!-- JEE Servlet -->javax.servlet,javax.servlet.http,<!-- Sling -->org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.auth.core,org.apache.sling.jcr.api,com.day.cq.commons,org.apache.sling.api.request,com.adobe.cq.sightly,com.day.cq.wcm.api,org.slf4j</Import-Package></instructions></configuration></plugin>
Typically, I use Felix SCR annotations on my classes (e.g. @Component, @Service, @SlingServlet) which allows the SCR Maven plugin to take care of adding my imports and classes to the manifest. In this case, because there are no such annotations on the use bean, so you must to do it by hand. It seems self-evident in retrospect, but it's a step that none of the tutorials out there (including the one linked to in the "solution" above) mention. My compiled class was in the bundle all along but wasn't exposed by the manifest.
Thanks,
Taylor
P.S. Before seeing these responses, I got the solution from an answer I kindly received from swathi07 in another thread. Thanks to all who responded.