Maven:将package-info.java编译为package-info.class?

时间:2011-07-21 01:39:39

标签: java maven-2 compilation package

我的包中有package-info.java,Hibernate想要它用于某些功能(编程实体扫描)。

但是,mvn package不会导致package-info.class出现在classes/中,因此不会出现在工件中。

我该如何强制发生这种情况?

mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.6.0_26
Java home: /usr/lib/jvm/java-6-sun-1.6.0.26/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.35-30-generic" arch: "amd64" Family: "unix"

3 个答案:

答案 0 :(得分:4)

-Xpkginfo:always选项提供给javac。

请参阅javac documentation

答案 1 :(得分:1)

错误是package-info.java必须有Retention=RUNTIME的任何注释才能编译成一个类。否则,JDK 6省略它 我使用了@Deprecated这是Java SE中唯一的一个(我不想因为这个而引入注释)。

@Deprecated
package cz.zizka.ondra.packageinfo.test

答案 2 :(得分:0)

在Maven 3中正常工作;不知道2. package-info.java中的包声明是否可能丢失或错误?