Maven, исключить все классы, кроме одного под пакетом - PullRequest
0 голосов
/ 01 февраля 2019

Это может звучать глупо, но я действительно хочу знать, смогу ли я это сделать (добавив некоторую «волшебную» конфигурацию в pom.xml).

Скажем, у меня есть проект, который имеет кучуиз пакетов, один из них, скажем, com.foo.bar, содержит довольно много файлов .java, включая один с именем «Dummy.java».

Теперь, при создании файла jar, я хочу исключить все классы в com.foo.bar, кроме «Пустышки».

Я пробовал регулярное выражение в разделе, но безуспешно,

Есть ли простой путь?Большое спасибо.

1 Ответ

0 голосов
/ 01 февраля 2019

С "кувалдой" (при условии, что Dummy.class не .java):

<plugin>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <includes>
        <include>com/foo/bar/Dummy.class</include>
    </includes>
    <!-- alternatively(!) excludes/exclude* -->
  </configuration>
</plugin>

... или с "швейцарским армейским ножом": maven-Assembly-плагин ... ^^! "% /"))

...

Чтобы использовать плагин сборки в Maven, вам просто необходимо:

  1. выберите или напишите дескриптор сборки для использования,
  2. configure Плагин сборки в pom.xml вашего проекта,
  3. и запустите «mvn assembly: single» в своем проекте....

со сборкой дескриптор вроде:

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 
   http://maven.apache.org/xsd/assembly-2.0.0.xsd">
   <id>dummy-only</id>
   <formats>
     <format>jar</format>
   </formats>
   <includeBaseDirectory>false</includeBaseDirectory>
   <fileSets>
     <fileSet>
     <outputDirectory>/</outputDirectory>
     <directory>${project.build.outputDirectory}</directory>
     <includes>
       <include>com/foo/bar/Dummy.class</exclude>
     </includes>
   </fileSet>
  </fileSets>
</assembly>

см. Также: Я хочу исключить некоторые файлы классов измой кувшинЯ использую Maven-Assembly-плагин.Это все еще добавляет файлы.Я не получаю никакой ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...