Maven: необходимо скопировать изображения в Javadoc, файлы LICENSE/NOTICE в META-INF

Я пытался выполнить две вещи, которые, как я полагал, будут довольно тривиальными с Maven (я использую 3.0.3 и последние версии всех плагинов), но что бы я ни делал, я не могу это сделать. Работа. Мне необходимо:

  1. Скопируйте все файлы (это изображения) из build/javadoc-css/resources/ (относительно корня проекта) в каталог resources/ в выходных данных Javadoc. Таблица стилей, которую я использую, ссылается на изображения в этом каталоге ресурсов, и мне нужно скопировать связанные изображения в этот каталог ресурсов/. Пока кажется, что вы можете копировать файлы только в doc-файлы/каталоги. Я надеюсь, что я что-то упускаю, потому что этого серьезно не хватает.
  2. Скопируйте все файлы (LICENSE.txt и NOTICE.txt, которые, как я полагал, были обычными вещами, которые необходимо скопировать всем) из build/jar/META-INF в каталоги META-INF во всех моих выходных банках. (Примечание: я не хочу помещать каталог META-INF с моими файлами LICENSE и NOTICE в исходный каталог, потому что у меня много модулей, и мне не нужно много копий этих файлов.)

Чтобы выполнить пункт 1, я сосредоточил свои усилия на тегах ‹javadocDirectory› и ‹docfilessubdirs›, но, как оказалось, они работают только с doc-файлами/каталогами.

Для № 2 я пробовал несколько вариантов тега ‹resource›:

Вариант №1:

<resource>
    <directory>build/jar/META-INF</directory>
    <targetPath>META-INF</targetPath>
    <includes>
        <include>LICENSE.txt</include>
        <include>NOTICE.txt</include>
    </includes>
</resource>

Вариант №2:

<resource>
    <directory>build/jar</directory>
    <targetPath>META-INF</targetPath>
    <includes>
        <include>META-INF</include>
    </includes>
</resource>

Вариант №3:

<resource>
    <directory>build/jar/META-INF</directory>
    <targetPath>META-INF</targetPath>
    <includes>
        <include>**</include>
    </includes>
</resource>

Никаких ошибок или файлов в неправильном месте. Как будто моих тегов ресурсов даже не было. Ничего не произошло.


person Nick Williams    schedule 25.01.2013    source источник
comment
Я разобрался с частью ресурсов META-INF. В моем проекте несколько модулей, и я помещал вышеуказанные объявления ресурсов в родительский POM. Но это должно быть в каждом из дочерних POM. Это работало, если он был помещен в каждый дочерний POM: <resource> <targetPath>META-INF</targetPath> <directory>../build/jar/META-INF</directory> </resource>. Все еще нет кубиков на ресурсах/изображениях Javadoc.   -  person Nick Williams    schedule 26.01.2013


Ответы (1)


Я бы предложил поместить ресурсы для javadoc в соответствующую папку. который находится в Maven:

yourproject
  |-- src
     |-- main
        |-- java
        |  |-- org
        |     |-- apache
        |        |-- myapp
        |         `-- App.java
        |         `-- package-info.java
        |-- javadoc
         `-- overview.html
           |-resources
           |-- org
              |-- apache
                 |-- myapp
                  `-- package.html
                    |-- doc-files
                     `-- app.png
person khmarbaise    schedule 25.01.2013
comment
Это не работает. Он по-прежнему копирует файлы только в каталоги doc-files. Мои изображения находятся прямо под ресурсами/ и игнорируются. - person Nick Williams; 25.01.2013