[英]Maven: Compiling package-info.java to package-info.class?
I have package-info.java in my package, Hibernate wants it for some features (programatic entity scanning).我的 package 中有 package-info.java,Hibernate 想要一些功能(程序实体扫描)。
However, mvn package
does not result in package-info.class
being in classes/
thus not in the artifact.但是, mvn package
不会导致package-info.class
在classes/
因此不在工件中。
How can I force that happening?我怎样才能强迫这种情况发生?
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"
Give -Xpkginfo:always
option to javac.给 javac -Xpkginfo:always
选项。
See the javac documentation .请参阅javac 文档。
Works correctly in Maven 3;在 Maven 3 中正常工作; don't know about 2. Is it possible that the package declaration in package-info.java is missing or wrong?不知道 2. package-info.java 中的 package 声明是否可能丢失或错误?
The error was that the package-info.java must have any annotation with Retention=RUNTIME
to compile into a class.错误是 package-info.java 必须有任何带有Retention=RUNTIME
的注释才能编译成 class。 Otherwise, JDK 6 omits it.否则,JDK 6 会忽略它。
I used @Deprecated
which is the only one in Java SE (and I didn't want to introduce an annotation just because of that).我使用@Deprecated
,它是 Java SE 中唯一的一个(我不想仅仅因为这个而引入注释)。
@Deprecated
package cz.zizka.ondra.packageinfo.test
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.