小智 66
哇这一刻有很多问题.我承认用Maven和Eclipse建立一个webapp项目可能很棘手,所以我会尽力回答它们.
如何使用maven创建一个带有servlet jsp和其他类的java web项目?它创建了一个简单的目录结构,src-> main-> java.
在创建Java Web项目时,最终产品应该是WAR或EAR文件.WAR和EAR文件是具有特定结构的JAR文件,可以部署在应用程序服务器或servlet容器中.
如上所述,为Web应用程序设置Maven项目的最简单方法是使用原型:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
Run Code Online (Sandbox Code Playgroud)
如果我们使用此原型创建项目,则会生成一个简单的目录结构和pom.xml.这个项目遵循你提到的标准Maven目录布局,使用/src/main/java/,/src/test/java等等.Maven使用war:war目标从这个结构生成WAR文件.
请注意,此原型适用于非常简单(过时)的Web应用程序,但它是最佳可用起点.您可能想要丢弃web.xml文件并创建一个支持Servlet 3.0的新文件.
我在哪里以及如何放置web-inf文件夹?
默认情况下,Maven期望驻留在WAR文件根目录中的资源(例如images,html页面和WEB-INF目录)驻留在其中/src/main/webapp/.所以WEB-INF文件夹应该位于/src/main/webapp/WEB-INF/.如果使用maven-archetype-webapp,则会自动创建此目录以及示例web.xml文件.
您在问题标题中提到了Eclipse,并且确实可以使用m2eclipse插件在Eclipse中开发Mavenized Web应用程序.Eclipse通过WTP(Web Tools Platform)对Web应用程序提供了很好的支持.
虽然互联网上有许多指南(错误地)推荐它,但你不应该使用mvn eclipse:eclipse命令来创建Eclipse项目.这个插件只能为很老的Eclipse版本生成WTP项目(WTP 2.0是最大的).相反,请使用此处所述的m2eclipse插件.
我是否需要手动将jdbc-drivers添加到web-inf/lib中的文件夹中,或者只是指出依赖项?
没有必要手动执行此操作,因为Maven的关键优势之一是依赖关系管理.如果在pom.xml中添加具有编译或运行时范围的依赖项,则JAR文件将自动包含在WEB-INF/lib/WAR文件的目录中.例如,要添加Postgresql JDBC驱动程序依赖项,请将其添加到pom.xml:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
由于范围未指定,Maven将假定它处于默认范围编译中.结果是Maven将包含WEB-INF/lib/postgresql-9.1-901.jdbc4.jar在WAR文件中.
有没有办法用junit测试servlet?
Stackoverflow已经询问(并回答)了这个问题:
Jon*_*n W 10
您应该基于webapp Maven原型创建项目,而不是您正在使用的默认项目.
我正在使用SpringSource Tool Suite,在本练习中,它与带有m2e的Eclipse相同.创建一个新的Maven项目,并确保选择以下原型:

Maven的命令行方式是:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
Run Code Online (Sandbox Code Playgroud)
这个原型将把WEB-INF文件夹放在正确的位置(在src/main/webapp下).
您可以在http://maven.apache.org/guides/mini/guide-webapp.html上找到更多信息
只需创建一个普通的"动态Web项目".然后右键单击项目名称并选择Configure> Convert To Maven Project.完成转换可能需要一到一分钟,所以请耐心等待.请参阅以下文章:
http://aykutakin.wordpress.com/2013/12/04/create-eclipse-dynamic-web-project-with-maven-2/
如果这不起作用,试试这个:
http://crunchify.com/how-to-create-dynamic-web-project-using-maven-in-eclipse/
| 归档时间: |
|
| 查看次数: |
56259 次 |
| 最近记录: |