我想做一些導入我自己的類,以便在DSLD腳本中使用,但DSLD編譯似乎不使用項目的類路徑 - 導入語句會破壞編譯,而Class.forName拋出類未發現異常。 有沒有辦法將自定義JAR放在DSLD classpath中,所以我可以在配置塊中使用自己的類? 我正在使用Eclipse 3.7和最新的Groovy插件(2.6.0)如何在Eclipse中更改DSLD編譯類路徑
1
A
回答
0
我不太瞭解DSLD的東西,但它喜歡Groovy looks可能有它自己的手段做到這一點。
2
你可以傳遞一個完全限定類名的字符串,只要它在DSLD被評估的項目類路徑上運行就行。這是這裏groovy-eclipse DSLDs
描述的一些微妙之處約java.lang.Class中引用
即使DSLD腳本在你的 項目的環境中被編輯,腳本實際上是由Groovy的Eclipse中加載。因此,腳本的 運行時類路徑對應於Groovy-Eclipse的 類路徑,而不是您項目的類路徑。
因此,您無法引用您的項目中定義的 類型的類對象。但是,您可以引用可用於Groovy-Eclipse的類對象 。這可能會令人困惑,因爲 項目中定義的類型被引用爲類對象時, 編譯器不會顯示編譯錯誤,但當引用Groovy-Eclipse類型時,它將顯示編譯 錯誤。這是因爲Groovy-Eclipse編譯器的 工程不在項目的類路徑中。這是 還沒有意識到DSLD文件將運行一個不同的類路徑。
更具體地說:
不直接引用類MyLocalType,你可以參考 它作爲一個字符串「com.mycompany.MyLocalType」標準JDK, GDK和中定義的所有類型的Groovy的所有可用直接在您的DSLD的 中,並且會顯示編譯錯誤。可以在以org.eclipse.jdt開頭的包中引用 類型。和org.codehaus.groovy.eclipse中的 。如果所有引用都完全合格。 但是,除非你真的知道你在做什麼 ,否則不建議這樣做。
相關問題
- 1. 在eclipse中更改TFS本地路徑
- 2. java中的預編譯器開關:如何更改導入類的路徑
- 3. 在Eclipse中更改文本編譯
- 4. 如何檢測Eclipse類路徑容器內容的更改?
- 5. 如何更改Jetty的類路徑或添加類路徑
- 6. 如何在Eclipse中編輯(運行時)類路徑?
- 7. symfony:如何更改sfCoreAutoloader類路徑?
- 8. 如何在eclipse中將編譯版本更改爲api 23 android?
- 9. 如何更改laravel路徑?
- 10. 如何更改.android路徑
- 11. 如何更改heroku路徑?
- 12. 更改eclipse查找插件的路徑
- 13. Eclipse:如何在更改類路徑後防止整個項目的重建
- 14. ANT - 如何追加編譯的類類路徑的動態
- 15. 如何更改類路徑並在Java中運行代碼?
- 16. Eclipse的擴展點更新類路徑
- 17. 如何在eclipse中爲MBean Explorer的類路徑添加類
- 18. Eclipse類路徑vs構建路徑
- 19. 如何更改Apache中的URL路徑?
- 20. 如何更改phpDocumentor中的php路徑?
- 21. 如何更改init.js中的baseUrl路徑
- 22. 更改路徑
- 23. 如何在Eclipse插件中獲取IJavaProject的類路徑作爲文件路徑?
- 24. 如何自定義或更改軌道中的路徑路徑?
- 25. 如何翻譯react-router路徑路徑
- 26. build.gradle:編譯組vs編譯,構建腳本,類路徑
- 27. 如何在eclipse中將jar添加到類路徑中
- 28. 如何編譯eclipse?
- 29. 在Eclipse中更改Web項目的Tomcat上下文路徑
- 30. 在Eclipse中升級jar而不更改構建路徑
這是一個共享您的項目之間的全球DSLD,它只適用於DSLD文件。我需要的是一種更早掛鉤進入DSLD腳本編譯的eclipse插件編譯器的方法。我通過直接在DSLD腳本中動態添加URL到sysetmClassLoader獲得了一些結果,但我想知道是否有一些更乾淨的方法可以做到這一點 – 2011-12-28 13:33:13