Maven компилирует все исходные файлы, но включает в jar лишь несколько из них - PullRequest
2 голосов
/ 10 мая 2011

У меня есть исходная папка с более чем 500 исходными файлами. Мне нужно изготовить 4 банки из этого источника. Но есть одна проблема, когда я пытаюсь скомпилировать источники, необходимые для моей первой фляги, которую они не хотят компилировать, потому что все источники необходимы для компиляции моих конкретных источников.

и вот вопрос: если я собрал все мои 500 исходных файлов с помощью maven, как я могу разделить их на несколько файлов JAR? мне не нужно, чтобы все мои файлы jar 4 содержали все 500 источников, каждый JAR должен содержать только свои конкретные файлы .class ...

С ant это было очень легко, вы просто скомпилировали все исходники один раз, а затем при создании JAR просто включаете указанные файлы .class в jar, и никаких проблем ... Можно ли сделать нечто подобное в MAVEN?

Ответы [ 3 ]

4 голосов
/ 10 мая 2011

Вы должны разбить свой исходный код на несколько взаимозависимых Java-проектов.

Затем скомпилируйте каждый проект в банку.

1 голос
/ 17 марта 2013

Вы ДОЛЖНЫ разделить этот проект jar на проект Multi-Module jar. Это решит вашу проблему и структура проекта будет намного лучше.

1 голос
/ 10 мая 2011

Я действительно рекомендую использовать решение Tristans, но вы также должны добиться того, чего хотите, настроив maven-jar-plugin , чтобы исключить / включить контент, который вы (не) хотите. Это описано здесь (см. Как включить / исключить содержимое из артефакта jar? ).

Поскольку вы можете создать только один артефакт с одним pom.xml (в общем), вам нужно подготовить несколько pom (или вы попробуете конфигурацию <classifier>, также описанную на странице использования maven-jar-plugin (я никогда не использовал ее но это кажется, чтобы помочь вам делать то, что вы хотите).

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