2016-06-09 54 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是构建现代Web应用程序,你可以在Maven项目通过pom.xml中导入一个Java框架:

<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。

在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部署描述符。

+0

确定很酷,所以有可能将该项目“翻译”为一个maven项目,很酷,谢谢我会放弃它 – antobbo