Java 中 package-info 这个类有啥作用,如何使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中 package-info 这个类有啥作用,如何使用相关的知识,希望对你有一定的参考价值。
java中的package的意思是打包,即把当前的类放在哪个包下,通常放在类的首行,比如: package com.test; public class Test... 其意思就是将类Test打包放在com文件夹下的test文件夹下; 参考技术A 这篇文章讲解的很好:http://www.iteye.com/topic/806246需要从绑定文件中生成 package-info.java 中的 JAXB 注释
【中文标题】需要从绑定文件中生成 package-info.java 中的 JAXB 注释【英文标题】:Need to generate JAXB annotions in package-info.java from binding file 【发布时间】:2011-08-25 04:34:34 【问题描述】:我有一个XmlAdapter
的注解,我需要将它放入package-info.java 中。问题是,我们的package-info.java 是从XJC 自动生成的。有没有办法使用 JAXB 绑定文件在生成时自动将这个注解添加到 package-info.java 中?
@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters
(
@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(value=Adapter.class,type=Original.class)
)
感谢您的帮助!
【问题讨论】:
【参考方案1】:不幸的是,在外部绑定文件中定义自定义元素时,上面的优雅语法不起作用。 Annotate Plugin 为您提供了一种从 XJC 绑定自定义中读取注释并自动添加到您的 XmlAdapter 类中的方法。 因此,您的适配器类将被添加到您的 package-info.java。
<jaxb:bindings
version="2.1"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="annox">
<jaxb:bindings schemaLocation="schema.xsd" node="/xs:schema">
...
<jaxb:bindings node="xs:complexType[@name='...']/xs:sequence/xs:element[@name='name']">
<annox:annotate>
<annox:annotate
annox:class="org.hibernate.search.annotations.FieldBridge"
impl="com.acme.foo.MyFieldBridge">
<annox:annotate annox:field="params">
<annox:annotate annox:class="org.hibernate.search.annotations.Parameter"
name="foo"
value="bar"/>
</annox:annotate>
</annox:annotate>
</annox:annotate>
</jaxb:bindings>
...
</jaxb:bindings>
</jaxb:bindings>
生产:
@FieldBridge(impl = com.acme.foo.MyFieldBridge.class, params =
@Parameter(name = "foo", value = "bar")
)
另一种方法是将绑定添加到您的架构:直接在架构文件中:
见Annotate Plugin
【讨论】:
hmmmm...我有点困惑..您是说上面产生的输出将在我的适配器或 package-info.java 中产生? 在您的 package-info.java 中,但您可以为您的适配器执行此操作 除了使用适配器之外,还有其他方法可以使用绑定文件进行类替换吗?以上是关于Java 中 package-info 这个类有啥作用,如何使用的主要内容,如果未能解决你的问题,请参考以下文章