Nano Hash - криптовалюты, майнинг, программирование

Лучший способ управлять многомодульными проектами?

У меня есть проект среднего размера, разделенный на 3 модуля: ядро, плагины (короче говоря, это слой интерпретации) и реализация. Есть несколько глобальных зависимостей и зависимости для конкретных модулей. Существует настраиваемая цель ant для создания документации javadoc, исключая реализацию (по понятным причинам). Он хранится в общедоступном онлайн-репозитории SVN и поэтому должен быть независимым от какой-либо машины без JRE.

Прямо сейчас я использую встроенное управление проектами NetBeans, и это отстой, вероятно, в основном из-за того, что система управления проектами не была разработана для модулей. Отсутствие глобального набора библиотек (вы можете импортировать библиотеку, специфичную для вашей установки nb, но тогда она не будет обновляться), отсутствие автоматического разрешения библиотечных зависимостей (зависимость от проекта означает проект и его зависимости), отсутствие независимого стиля форматирования для нескольких проектов (привязанного к профильным «Глобальным параметрам» или индивидуально настроенных и синхронизированных параметров для конкретного модуля) и других вещей, которые делают управление моим проектом затруднительным.

Когда я экспериментировал с IDEA, мне нравилось управлять проектами. Это было близко к тому, что я хотел, но, как и большинство вещей в IDEA, могло быть проще. Однако сама среда IDE была плохой (не обсуждалась), поэтому я снова переключился на NetBeans. И Maven выглядит плохо, как из-за необходимости просматривать его файловую структуру вручную, так и из-за в целом мнение.

Есть ли у них лучшие варианты, которые можно хранить в стандартном репозитории SVN с ограниченными инструментами для использования, довольно просты в использовании для 1-3 разработчиков и для 2- 5 модулей? Он должен уметь обрабатывать java и (в идеальном мире) интеграцию с NetBeans.


Ответы:


1

Честно говоря, maven - ваш лучший выбор. Я бы не стал его сбивать, ты еще не пробовал. Это, как правило, очень спорная технология, но те, кто ее любят, любят ее по чертовски веской причине. Если вы тот, кто предпочитает держать руки подальше от скрипта / файлов сборки после того, как вы их изначально настроили, и похоже, что вы использовали встроенные проекты Netbeans, которые генерируют ant build.xml за кулисами, тогда вам стоит просто попробовать maven и посмотреть, что произойдет.

Я не уверен, почему вы думаете, что вам нужно перемещаться по структуре каталогов с помощью maven, если вы работаете в netbeans. На этом снимке экрана показан пример того, как это выглядит. Вы никогда не видите src / main / java или target / или чего-либо еще в файловой системе (если вам это не нужно). alt text
(источник: netbeans.org)

Если вы используете многомодульный проект maven, вы также получите искомую модульность в Netbeans. Если вам нужен образец, проверьте проект с открытым исходным кодом, в котором есть множество модулей, загрузите его в Netbeans и поиграйте с ним: http://camel.apache.org/source.html

31.07.2010
  • Maven выглядит устрашающе, но я посмотрю. Оставьте этот вопрос открытым еще на 12 часов на случай, если кто-то предложит другой ответ. Спасибо 31.07.2010
  • Если вы тот же LordQuackstar из irc: //chat.freenode.net/##java, то смело обращайтесь ко мне за помощью. Почти вся моя работа выполняется в проектах maven, загруженных Netbeans. irc: //irc.codehaus.org/#maven - хороший ресурс для всего, что специфично для maven. 31.07.2010
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    © 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование