2017-09-15 58 views
1

我正試圖使用​​JSweet將Java模型類轉換爲JavaScript。模型類包含JPA註釋,如@Column。只要遇到import javax.persistence.Column,轉錄就會失敗。 JPA註釋在JavaScript中是不相關的,不應該被轉發。這可以在不更改Java代碼的情況下完成嗎?處理JSweet中的Java註釋

更一般地說,有沒有辦法讓JSweet忽略導入語句,例如,當所有對導入包的引用都在@Erased方法中?

回答

0

通常情況下,JSweet只會刪除未知的註釋,所以你的代碼應該很好地傳遞。

首先檢查:你的classpath或Maven依賴項中是否有JPA jar? JSweet使用javac,它要求所有類型都在類路徑中。我猜@Column註釋應該在那裏:https://mvnrepository.com/artifact/javax.persistence/persistence-api/1.0.2

至於你的問題的第二部分,JSweet v2提供了一個API來調整代碼的生成。請參閱specs。在PrinterAdapter API中,您可以覆蓋needsImport方法以在不需要導入時返回null。不過,我相信你不需要這樣做,因爲註釋會自動刪除。

+0

謝謝。的確,我忘了在pom中提到javax.persistence,因爲我們沒有在常規的構建過程中使用Maven。如果我不想使用Maven,Eclipse插件是否唯一替代方案? – warakawa

+0

您也可以在命令行啓動器中使用Ant。我認爲在jsweet-examples projet中有一個build.xml:https://github.com/cincheo/jsweet-examples(但你可以手動處理你的依賴關係,而不是Maven)。 –