Я работаю над проектом со многими конвейерами Beam, написанными на Java, которые необходимо упаковать в виде jar-файла для выполнения из нашего планировщика заданий. Я пытался использовать профили сборки для создания jar для каждого основного файла, но это кажется грязным, и у меня были проблемы с конфликтами зависимостей (с beam-sdks-java-io-amazon-web-services, когда он не использовал, он все еще выглядит для необходимых вариантов региона). Я также просто ищу общие рекомендации по структуре устойчивого проекта для растущей базы кода Beam.
Каковы наилучшие практики для упаковки трубопроводов, которые должны выполняться по графику? Должен ли я упаковывать несколько конвейеров вместе, чтобы я мог выполнить каждый конвейер, используя имя конвейера и параметры опций конвейера, если да, то как? (возможно, с использованием какого-либо главного главного канала, который выполняет конвейеры на основе входных параметров) Или каждый конвейер должен быть своим собственным проектом Maven (для этого требуется много jar-файлов)? Мысли