Как создать / использовать библиотеку классов с Netbeans поверх Maven? - PullRequest
19 голосов
/ 26 февраля 2012

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

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

Итак, как мне начать?Мастер Netbeans New-Project, похоже, не имеет опции для «Библиотеки классов Java», как для проектов, созданных ANT.Ближайший выбор, который я вижу, - «Приложение Java».Это то, что я использую и просто игнорирую основной класс или есть какой-то другой путь, который я не вижу?

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

Ответы [ 4 ]

17 голосов
/ 26 февраля 2012

Вы можете использовать мастер для «Maven» -> «Приложение Java (простое приложение Java SE, использующее Maven)», поскольку в maven нет никакой разницы между библиотекой и приложением. Я думаю, что 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 и version по умолчанию совпадают с родителем:

<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>
3 голосов
/ 26 февраля 2012

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

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

2 голосов
/ 10 декабря 2016

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

  1. Найдите плагины -> плагин -> тег версии в вашем pom.xml
  2. Дважды щелкните номер версии, чтобы он стал подсвеченным
  3. Нажмите CTRL + ПРОБЕЛ, чтобы включить автозаполнение
  4. Всплывающее меню позволяет вам выбрать доступные версии. Screenshot
2 голосов
/ 29 ноября 2016

Следующее прекрасно работает для библиотек классов в 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.особенность;они будут распространяться на любой модуль «вниз по течению», который добавляет ваш модуль MyLib или MyAPI в качестве зависимости.

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

   <dependencies>

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

Justудали его, если не хочешь.

...