在 JSweet 中处理 Java 个注解

Handling Java annotations in JSweet

我正在尝试使用 JSweet 将 Java 模型 类 转换为 JavaScript。模型 类 包含 JPA 注释,如 @Column。一遇到import javax.persistence.Column,转译就失败了。 JPA 注释与 JavaScript 无关,不应转译。这可以在不更改 Java 代码的情况下完成吗?

更一般地说,有没有办法让 JSweet 忽略导入语句,例如,当所有对导入包的引用都在 @Erased 方法中时?

通常情况下,JSweet 只是擦除未知注释,因此您的代码应该可以正常转译。

首先要检查的是:您的类路径或 Maven 依赖项中是否有 JPA jar? JSweet 使用 javac,它要求所有类型都在类路径中。我想 @Column 注释应该在那里:https://mvnrepository.com/artifact/javax.persistence/persistence-api/1.0.2

关于你问题的第二部分,JSweet v2提供了一个API来调整代码的生成。参见specs. In the PrinterAdapterAPI,不需要导入时可以重写needsImport方法为returnnull。但是我相信您的情况不需要这个,因为注释会自动删除。