Как создать/использовать библиотеку классов с Netbeans поверх Maven? - программирование
Подтвердить что ты не робот

Как создать/использовать библиотеку классов с Netbeans поверх Maven?

Это кажется глупым вопросом, но я как бы зависим от волшебников Netbeans 7.1. Кажется, что нет возможности сделать это.

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

Итак, как мне начать? Мастер Newbe Project Netbeans, похоже, не имеет опции для "библиотеки классов Java", как для проектов ANT -built. Самый близкий выбор, который я вижу, - это "Java-приложение". Это то, что я использую и просто игнорирую основной класс, или есть какой-то другой путь, который я не вижу?

Обычно я хорошо разбираюсь в этом, но мои поиски в Интернете не уступают много. Большое спасибо за любую помощь.

4b9b3361

Ответ 1

Вы можете использовать мастер для "Maven" → "Приложение Java (простое приложение Java SE с использованием Maven)", поскольку в отношении maven нет разницы между libary и приложением. Я думаю, что netbeans создаст образец App.java, который вы можете просто удалить.

Для вашего использования, имеет смысл также создать родительский проект для библиотеки и веб-приложения. Построение родительского элемента также создало бы библиотеку и веб-приложение. Он также позволяет вам использовать "сборку с зависимостями" в веб-приложении и сначала перестроить библиотеку.

Чтобы создать родительский проект, вы можете использовать запись "POM Project". Структура каталогов идеально выглядит так:

- pom.xml (for parent project)
- library (folder)
    - pom.xml (for library module)
- webapp  (folder)
    - pom.xml (for webapp module)

Затем родительский проект должен содержать элементы module, содержащие относительный путь ваших других проектов:

<modules>
    <module>library</module>
    <module>webapp</module>
</modules>

Библиотека и веб-приложение ссылаются на родителя, как и в этом случае, groupId и версия по умолчанию являются такими же, как и родительский:

<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>myGroupId</groupId>
    <artifactId>parentArtifactId</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>libraryArtifactId</artifactId>

Ответ 2

Вы можете начать с Maven > POM Project. Что подходит для библиотек классов.

Также вы можете сделать ваш проект Maven "модульным". Хороший учебник можно найти http://sonatype.com/books/mvnex-book/reference/index.html в главах 8 и 9.

Ответ 3

Я нашел более быстрый способ обновления версий ваших плагинов в pom.xml с помощью NetBeans.

  • Найдите плагины → плагин → тег версии в вашем pom.xml
  • Дважды щелкните номер версии, чтобы она была подсвечена.
  • Нажмите CTRL + SPACE для переключения автозаполнения.
  • Всплывающее меню позволяет вам выбирать доступные версии. Снимок экрана

Ответ 4

Следующее отлично работает для библиотек классов в NetBeans8.1.

Вам нужно будет обновить основные версии плагина в файле Maven (и вы хотите удалить JUnit, если вы его не используете, см. внизу).

НЕ используйте New Project -> Maven -> Java Application, он НЕ интегрируется с системой меню Maven Dependency в NetBeans-8.1.

Выполните следующие действия:

  • Шаг1: Создайте New Project -> Maven -> Project from Archtype, затем в архетипическом поисковом фильтре выберите maven-archetype-quickstart.

  • Шаг2: Нажмите Далее, а затем введите название проекта/модуля (MyLib или MyAPI), затем Готово.

  • Шаг 3: Немедленно (до того, как вы забудете) в Project Settings > Sources измените исходный/двоичный формат с 1,5 до 1,8 (или другой).

  • Шаг 4: Немедленно (прежде чем вы забудете) в разделе Project Settings > Licence Headers выберите лицензию.

  • Шаг 5. Создайте новый (или скопируйте из старого проекта) Java-класс или файлы интерфейса и т.д. в разделе "Исходные пакеты" в обозревателе проектов.

  • Шаг6: (необязательно) удалите public class App, если вы не хотите иметь простой автономный модуль запуска/тестирования модуля.

  • Шаг7: (Очень рекомендуется): обновите основные плагины Maven до последних версий, отредактировав номера версий в pom.xml! Лучшее место для поиска последних версий - проверка папок в основном репозитории плагинов: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/

В рамках любого другого проекта на базе NetBeans Maven новая технология "вверх по течению" или проект API будут предлагаться через Dependendies -> Add Dependency .. (Open Projects subtab). Он также будет предлагаться через систему управления репозиториями при поиске библиотеки Maven через Add as Dependency.

Если вы хотите добавить общие/разделяемые библиотеки, просто добавьте их через свой модуль MyLib или MyAPI, используя функцию Maven Dependencies; они будут распространяться на любой модуль "вниз по течению", который добавит ваш MyLib или модуль MyAPI в качестве зависимости.

Дополнительно: Кроме того, ваш pom.xml по умолчанию будет включать JUnit:

   <dependencies>

     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>

Просто удалите его, если вы этого не хотите.