OSGI:包,类继承和maven范围

时间:2016-05-21 07:26:40

标签: java maven osgi

我有三个maven项目作为三个osgi包(这是一个项目是一个包)。我有三个班 - 每个班一个班。

Project/Bundle 1:
class A{}
pom:    

Project/Bundle 2:
class B extends A{}
pom:
 <dependency>
     <groupId>com.company</groupId>
     <artifactId>project1</artifactId>
     <version>1.0.0</version>
     <scope>provided</scope>
</dependency>

Project/Bundle 3
class C extends B{}
pom:
 <dependency>
     <groupId>com.company</groupId>
     <artifactId>project2</artifactId>
     <version>1.0.0</version>
     <scope>provided</scope>
</dependency>

为什么当我编译project3时,我得到例外,A类无法被访问?只有将project1添加为项目3的依赖项才能解决问题。但是,为什么?

1 个答案:

答案 0 :(得分:1)

这是因为提供的范围。它打破了传递查找。