Maven: компилирование package-info.java для package-info.class? - PullRequest
5 голосов
/ 21 июля 2011

У меня есть 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 ]

4 голосов
/ 16 октября 2015

Дайте -Xpkginfo:always опцию javac.

См. Документацию javac .

1 голос
/ 21 июля 2011

Ошибка состояла в том, что package-info.java должен иметь любую аннотацию с Retention=RUNTIME для компиляции в класс. В противном случае JDK 6 его опускает.
Я использовал @Deprecated, который является единственным в Java SE (и я не хотел вводить аннотацию только из-за этого).

@Deprecated
package cz.zizka.ondra.packageinfo.test
1 голос
/ 21 июля 2011

правильно работает в Maven 3; не знаю о 2. Возможно ли, что объявление пакета в package-info.java отсутствует или неверно?

...