我已經爲IntelliJ Idea創建了一個插件。在插件中,我定義了一個我想在我的項目中使用的註釋,但它似乎無法訪問。 我應該如何在plugin.xml文件中指定我想要公開的包?IntelliJ Idea:如何在開發插件中公開類,接口和註釋
回答
當你安裝一個插件時,它會在某個地方 - 例如, C:\Users\xxx\.IdeaIC14\config\plugins\...
現在您知道您的jar文件在哪裏了,您可以將它作爲依賴添加到您的項目中。如果你使用Maven,您可以添加這樣的事情你的POM:
<dependency>
<groupId>yourplugin</groupId>
<artifactId>yourplugin</artifactId>
<version>1</version>
<systemPath>C:\Users\xxx\.IdeaIC14\config\plugins\yourplugin.jar</systemPath>
<scope>system</scope>
</dependency>
或者你可以install the jar into your local repository,然後用它作爲正常Maven的依賴。
如果不是,則直接在項目設置中添加依賴項,因爲它是任何其他jar。
plugin.xml
與此無關,這是關於罐子和類路徑。你可以在你的插件中執行一些用戶友好的檢查和操作,這會增加對你的依賴。
默認情況下,插件可以自動讀取和訪問的公衆成員安裝在同一個IDE任何其他插件(即你的插件可以讀取公共變量,調用公共職能 - 一切都在相同的類路徑)。如果您依賴於另一個插件,則必須首先在plugin configuration file內將其作爲explicit dependency添加,以便最終用戶的IDE將知道如果缺少它們,將下載並安裝插件所需的插件依賴關係。
在開發過程中,您現在應該使用Gradle。在您的項目的build.gradle
(或build.gradle.kts
)文件中,的intellij.plugins
屬性將允許您指定插件依賴項的id
和version
。這些屬性的值可以在Plugin Repository上找到,參見參考資料。 Plugin XML ID
)。隨後,gradle-intellij-plugin
會將所需的IntelliJ平臺插件作爲外部庫添加到您的項目中,從而允許您在插件沙箱內(通過./gradlew runIde
)獲得代碼完成,靜態分析和測試插件以及其依賴關係。
出於穩定性考慮,插件應該避免使用其他插件的內部類。如果您希望啓用其他插件以編程方式使用您的插件(即假設您想提供API),那麼IntelliJ Platform具有所謂的Extension Points的概念。這些將允許你定義一個具體的接口,或合同讓其他插件訪問你的插件的功能,而不需要知道太多的源代碼。使用擴展點具有將這些插件與任何內部插件重構解耦的附加好處。
- 1. 如何使用IntelliJ IDEA進行Eclipse插件開發?
- 2. Intellij Idea Android開發R.main
- 3. 如何在IntelliJ IDEA中查找頂級未註釋的類
- 4. Intellij IDEA,java和遠程開發
- 5. Eclipse插件開發,公開Java項目中的插件類
- 6. Intellij IDEA和mvp4g APT註釋檢查
- 7. IntelliJ IDEA插件開發:爲特定源獲取類VirtualFile(或路徑)VirtualFile
- 8. 適用於Android開發的IntelliJ IDEA IDE
- 9. 使用IntelliJ IDEA 7.0進行BlackBerry開發?
- 10. 如何在Intellij Idea中將註釋格式化爲一行?
- 11. 如何設置單擊以在IntelliJ IDEA中打開文件?
- 12. IntelliJ Idea中的Vaadin插件
- 13. 'XXX' 在web.xml配置Servlet時不公開 - IntelliJ IDEA的
- 14. 在Intellij Idea中混合常規進口和靜態進口Idea
- 15. 從EntityFramework的DbContext公開接口類型
- 16. MongoDB JMX註冊異常:類不公開管理接口
- 17. 如何使用WCF REST公開接口?
- 18. 如何爲JDK8開發設置我的IntelliJ IDEA環境?
- 19. 在IntelliJ IDEA中缺少Scala插件11.1.1
- 20. 在IntelliJ IDEA中啓用sbt插件14
- 21. 如何在IDEA中打開jmeter項目?
- 22. IntelliJ Idea 13中的angularJS開始
- 23. intellij Idea - 如何打開.css文件(如application.css)?
- 24. 如何在clojure中開發Eclipse插件?
- 25. 我可以公開註釋屬性嗎?
- 26. 如何在IntelliJ IDEA 10中打開包含的Java類(例如JButton)?
- 27. 如何在intellij插件中註冊特定類型的文件
- 28. IntelliJ IDEA Scala插件關閉
- 29. 如何開始開發Mozilla Firefox插件?
- 30. 如何不公開Java中的公共接口
也許你應該用這個類,接口和註解來創建一個項目,你的主要項目將依賴於這個項目嗎? –
這些註釋由插件使用,因此我希望它們成爲插件的一部分。我不希望用戶重新定義它們。我會盧克從插件導入他們,我想這是可能的 – lowcoupling
不贊同近距離投票。問題非常清楚 - 請保持開放。 – vikingsteve