Где разместить демонстрационный / пример кода библиотеки, созданной Maven? - PullRequest
2 голосов
/ 05 декабря 2011

Я разрабатываю небольшую библиотеку утилит java, используя maven.Теперь я хотел бы добавить демо / пример кода, чтобы показать, как использовать библиотеку.

Где лучше всего ее разместить?

  • В подпакете с другим кодом.Мне это не нравится, поскольку это означает, что демонстрационные материалы будут включены в файл jar библиотеки.

  • В новом артефакте maven.Это работает, но я бы предпочел, чтобы демки были ближе подключены к источнику библиотеки.

  • В качестве дополнительного артефакта.Еще не пробовал это.Кажется, все усложняется для чего-то, что должно быть простым.

Есть ли какой-нибудь общий шаблон для этого?

Ответы [ 4 ]

5 голосов
/ 05 декабря 2011

Если это некоторые примеры фрагментов кода, которые выполняются сами по себе и просто демонстрируют, как использовать библиотеку, то запишите их как модульные тесты в том же модуле.

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

Ваша библиотека и ваша демонстрационная программа, вероятно, должны совместно использовать родительский модуль (типа«pom», а не «jar», как другие), что дает вам многомодульный проект .Затем вы можете собрать обе версии, запустив maven из этого родительского модуля.

Если вы хотите выпустить свою библиотеку и демо вместе (вы можете, но не обязаны), вы можете сделать это и из родительского модуля.

Другими словами, не потому, что они являются отдельными модулями, упакованными в разные артефакты, они не могут быть тесно связаны .Различные модули многомодульного проекта по-прежнему составляют один целый проект.

2 голосов
/ 05 декабря 2011

Вы не написали, что это за библиотека утилит, но если это что-то вроде Apache Commons, то большинство демонстраций можно записать в виде тестов JUnit, которые помещаются в один и тот же артефакт. Хорошо разработанный JUnit тестирует и тестирует ваш код, и предоставляет пример использования ваших утилит.

1 голос
/ 05 декабря 2011

Я бы порекомендовал создать многомодульный проект Maven, в котором один модуль является ядром, а другой - демо-кодом. Таким образом, пользователь может выбрать, хочет ли он создать оба модуля (они становятся отдельными артефактами) или ему просто нужно ядро.

1 голос
/ 05 декабря 2011

Я предпочитаю новый артефакт Maven, он может сделать ваш собственный артефакт чистым

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