在 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
。但是我相信您的情况不需要这个,因为注释会自动删除。
我正在尝试使用 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
。但是我相信您的情况不需要这个,因为注释会自动删除。