创建一个新的maven项目指南

时间:2016-06-09 10:59:56

标签: java maven vaadin7

我即将创建一个新的maven项目并遇到了这个有趣的指南https://vaadin.com/wiki/-/wiki/Main/Creating%20a%20simple%20component 现在,我有一些关于让它与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,他们是一回事吗?

  3. 一般来说,我想要做的是创建一个新的maven项目并遵循本教程

2 个答案:

答案 0 :(得分:2)

Vaadin和Maven是两回事。

Vaadin是一个用于构建现代Web应用程序的Java框架,您可以通过POM.xml在Maven项目中导入该框架:

<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

然后使用Maven创建一个Vaadin项目,请检查此tutorial

  

Maven的主要目标是让开发人员理解   在最短的时间内完成开发工作的状态。   为了实现这一目标,有几个值得关注的领域   Maven试图处理:

     
      
  1. 简化构建过程

  2.   
  3. 提供统一的构建系统

  4.   
  5. 提供优质项目信息

  6.   
  7. 提供最佳实践发展指南

  8.   
  9. 允许透明迁移到新功能

  10.         

    来源:maven

答案 1 :(得分:0)

提供的链接没有描述Maven项目,它只是在java中如何做。但这并不意味着你不能使用Maven。

在maven中,Web应用程序的项目结构如下

Project Root
    |
    +-pom.xml
    +-src
       +-main
          +-java
          +-resources
          +-webapp
              +-WEB-INF
                   +-web.xml
  • pom.xml用于定义项目详细信息,例如组ID, 工件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是web部署描述符。