2016-06-09 1 views
1

Я собираюсь создать новый проект maven и наткнулся на этот интересный гид https://vaadin.com/wiki/-/wiki/Main/Creating%20a%20simple%20component Теперь у меня есть пара вопросов о том, как это работать с проектом maven, поскольку, похоже, есть некоторые различия в способах обработки.Создание нового руководства по проекту maven

  1. Когда я создаю Maven проект не получит ту же самую структуру, описанную в конце статьи:

    com.example.mycomponent 
        MyComponent.java 
        MyComponentWidgetset.gwt.xml 
    com.example.mycomponent.client 
        MyComponentConnector.java 
        MyComponentWidget.java 
    

    Это нормально? Означает ли это, что мне нужно изменить свою структуру в maven?

  2. Они, кажется, не говорят о файле pom.xml, но web.xml, это то же самое?

Вообще говоря, то, что я хотел сделать, это создать новый проект Maven и этим руководством

ответ

2

Vaadin и Maven две разные вещи.

Vaadin является основой Java для создания современных веб-приложений, которые вы можете импортировать в проект Maven через pom.xml:

<dependency> 
    <groupId>com.vaadin</groupId> 
    <artifactId>vaadin-server</artifactId> 
    <version>7.6.6</version> 
</dependency> 
<dependency> 
    <groupId>com.vaadin</groupId> 
    <artifactId>vaadin-client-compiled</artifactId> 
    <version>7.6.6</version> 
</dependency> 

<!-- Optional for extending client-side See: https://vaadin.com/book/-/page/clientside.html 
<dependency> 
    <groupId>com.vaadin</groupId> 
    <artifactId>vaadin-client</artifactId> 
    <version>7.6.6</version> 
    <scope>provided</scope> 
</dependency> 
--> 

<!-- Optional for optimizing client-side widgets See: https://vaadin.com/book/-/page/mobile.optimization.html 
<dependency> 
    <groupId>com.vaadin</groupId> 
    <artifactId>vaadin-client-compiler</artifactId> 
    <version>7.6.6</version> 
    <scope>provided</scope> 
</dependency> 
--> 

<dependency> 
    <groupId>com.vaadin</groupId> 
    <artifactId>vaadin-themes</artifactId> 
    <version>7.6.6</version> 
</dependency> 

<!-- Optional push support for communication See: https://vaadin.com/book/-/page/advanced.push.html 
<dependency> 
    <groupId>com.vaadin</groupId> 
    <artifactId>vaadin-push</artifactId> 
    <version>7.6.6</version> 
</dependency> 
--> 

Источник https://vaadin.com/maven#dependencies

Чтобы затем создать проект Vaadin с Maven, проверить это tutorial

основная цель Maven в том, чтобы позволить разработчику понять полное состояние усилий в кратчайшие сроки. Для достижения этой цели есть несколько проблемных областей, которые Maven пытается иметь дело с:

  1. Создание процесса сборки легко

  2. Обеспечение единой системы сборки

  3. Обеспечение качества информация о проекте

  4. Руководство по разработке передовой практики

  5. Разрешение прозрачной миграции на новые функции

Источник: maven

+0

спасибо, хорошо Я обычно создаю проекты maven, поэтому, возможно, мой вопрос должен был быть, могу ли я использовать это руководство с проектом maven? – antobbo

+0

@antobbo Я так не думаю, проверьте: https://vaadin.com/docs/-/part/framework/getting-started/getting-started-maven.html ссылку, этот я положил в ответ как и – Igoranze

0

Предоставленная ссылка не описывает о проекте Maven это просто, как это сделать в Java. Но это не означает, что вы не можете использовать Maven.

В мавена структура проекта будет выглядеть следующим образом для веб-приложения

Project Root 
    | 
    +-pom.xml 
    +-src 
     +-main 
      +-java 
      +-resources 
      +-webapp 
       +-WEB-INF 
        +-web.xml 
  • pom.xml где можно определить детали проекта, как идентификатор группы, артефакта ID и версии вместе с зависимостями проекта (в вашем случай зависимости Vaadin).
  • src\main\java папка будет иметь вашу java файлов.
  • src\main\resources папка будет иметь не-java-файлы, которые вам нужны в пути к классам.
  • src\main\webapp В папке будет ресурсов, таких как html, css javascript и т. Д. Вместе с папкой WEB-INF.

Так что ваша структура проекта будет

Project Root 
    | 
    +-pom.xml 
    +-src 
     +-main 
      +-java 
      | +-com 
      |  +-example 
      |   +-mycomponent 
      |     +-MyComponent.java 
      |     +-client 
      |      +-MyComponentConnector.java 
      |      +-MyComponentWidget.java 
      +-resources 
      |  +-com 
      |  +-example 
      |    +-mycomponent 
      |     +MyComponentWidgetset.gwt.xml 
      +-webapp 
       +-WEB-INF 
        +-web.xml 

Для вашего вопроса на это pom.xml и web.xml такое же? это не pom.xml для модели объекта проекта maven, а web.xml - дескриптор развертывания сети.

+0

OK круто, поэтому можно «перевести» (из-за отсутствия лучшего слова), что проект в maven один, круто, спасибо, я дам ему пойти – antobbo