But I have import those things in my program:
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Session;
import javax.jms.DeliveryMode;
import javax.jms.MessageProducer;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.util.IndentPrinter;
There is a difference between imports at the Java language level, and imports between OSGi bundles.
For example, I may have a private internal class that uses another class - in this case I may need to
import it using a normal Java import (such as import com.example.MyClassImpl). But if both classes
are internal to the OSGi bundle then I don't need to mention them, or their packages, in the import or
export package instructions.
Think of Import-Package and Export-Package as describing wires between OSGi bundles - internally
your code will use Java-level imports, but as a bundle it needs to describe what classes it can share
with other bundles and what classes it needs from other bundles (or the framework).
If your bundle doesn't contain the
javax.jms.* classes then they either need to come from the system
classpath, or another bundle.
( ps. you might want to look at the Bnd tool, which can produce OSGi metadata
for you just by analyzing your classfiles - see
http://www.aqute.biz/Code/Bnd )
hope this makes things a bit clearer...
Regards,
--
TransitWang/WangZhu
Computer School,Northwestern Polytechnical University
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev