2017-02-15 57 views
-2

我剛剛開始,我認爲這是一個基本的問題,我什至不能在網上找到任何關於它的事情,但我不能爲我的生活弄清楚這一點。如何在不同的OSGi包中實現接口?

我有兩個獨立的捆綁包,一個API和一個服務捆綁包。在API包一個包我稱一個接口「帶有HelloApi」:

package com.example.osgi.api; 

public interface HelloAPI { 

    public void sayHello(); 

} 

在服務束我用下面的代碼的類:

package com.example.osgi.service; 

public class HelloImpl { 

    implements HelloAPI { 
     System.out.println("Hello World!"); 
    } 
} 

但蝕強調下一個錯誤「implements」關鍵字爲:

令牌語法錯誤「實現」,預期接口。

我看不出我做錯了什麼,任何人都可以指向正確的方向嗎?謝謝。

+0

'implements'類名之後去。你之間有一個「{」號。你的方法定義也是錯誤的。您可能要等OSGi,直到您對該語言有基本的瞭解。尤其是類路徑。 –

+0

@ThorbjørnRavnAndersen我在這裏被深深拋出,追趕是我所做過的。我的方法定義有什麼問題? –

+0

https://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html –

回答

2

我非常同意這些意見 - 瞭解Java語言的基礎知識之前,需要處理更多高級主題,比如模塊化。

供參考,在這裏是一個正確的實現您的接口:

public class HelloImpl implements HelloAPI { 
    public void sayHello() { 
     System.out.println("Hello World!"); 
    } 
}