简体   繁体   English

Maven:编译 package-info.java 到 package-info.class?

[英]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.classclasses/因此不在工件中。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM