Java 注释在编译时存在,但在运行时不存在
可以使用包含运行时不存在的注释的Java类文件Java 注释在编译时存在,但在运行时不存在,java,jpa,annotations,Java,Jpa,Annotations,可以使用包含运行时不存在的注释的Java类文件 示例:我想用JPA@embeddeble注释编写一个类,该注释将出现在编译时maven scope:provided中。但是,如果在JPA应用程序外部使用该类,则在运行时可能会缺少注释定义。您必须: 在运行时交换已编译的类以包含不带注释的类。 重写@Embeddeble的类定义并删除@RetentionRUNTIME 只需防止您的JPA提供商扫描类本身。 OSGi应用程序,例如Eclipse,将忽略不可访问的注释,也就是说,如果您有一个没有加载JP
示例:我想用JPA@embeddeble注释编写一个类,该注释将出现在编译时maven scope:provided中。但是,如果在JPA应用程序外部使用该类,则在运行时可能会缺少注释定义。您必须: 在运行时交换已编译的类以包含不带注释的类。 重写@Embeddeble的类定义并删除@RetentionRUNTIME 只需防止您的JPA提供商扫描类本身。
OSGi应用程序,例如Eclipse,将忽略不可访问的注释,也就是说,如果您有一个没有加载JPAAPI的JPA注释,您将不会得到ClassNotFoundExceptions 对于这个特殊的问题,我只需要在XML资源中定义ORM映射,而不是在注释中定义。这些映射可以放在不同的工件JAR中,该工件JAR将被添加到类路径中,这取决于您是否使用JPA。如果我在JPA应用程序之外使用该类,3。总是会遇到的,对吗?