我即将创建一个新的maven项目并遇到了这个有趣的指南https://vaadin.com/wiki/-/wiki/Main/Creating%20a%20simple%20component 现在,我有一些关于让它与maven项目一起工作的问题,因为事情的处理方式似乎存在一些差异。
当我创建maven项目时,我没有得到文章末尾描述的相同结构:
com.example.mycomponent
MyComponent.java
MyComponentWidgetset.gwt.xml
com.example.mycomponent.client
MyComponentConnector.java
MyComponentWidget.java
这是正常的吗?这是否意味着我必须在maven中修改我的结构?
他们似乎不是在谈论pom.xml文件而是web.xml,他们是一回事吗?
一般来说,我想要做的是创建一个新的maven项目并遵循本教程
答案 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试图处理:
简化构建过程
提供统一的构建系统
提供优质项目信息
提供最佳实践发展指南
- 醇>
允许透明迁移到新功能
来源: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部署描述符。