【问题标题】:Maven archetype for simple Servlet application用于简单 Servlet 应用程序的 Maven 原型
【发布时间】:2011-02-16 10:42:24
【问题描述】:

是否有用于简单 Servlet (2.5) Web 应用程序的 Maven 2 原型?

【问题讨论】:

    标签: java servlets maven-2 maven-archetype


    【解决方案1】:

    webapp的原型:

    mvn archetype:generate -DgroupId=com.acme \
                           -DartifactId=my-webapp \
                           -Dversion=1.0-SNAPSHOT \
                           -DarchetypeArtifactId=maven-archetype-webapp \
                           -DinteractiveMode=false
    

    这将生成以下结构:

    $树我的网络应用程序/ 我的网络应用程序/ ├── pom.xml └── 源 └── 主要 ├── 资源 └── 网页应用 ├── index.jsp └── WEB-INF └── web.xml

    其中 web.xml 是 Servlet 2.3 web.xml:

    $ cat my-webapp/src/main/webapp/WEB-INF/web.xml 
    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    </web-app>
    

    对于 Servlet 2.5 Web 应用程序,将其替换为以下内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      version="2.5">
      <display-name>Archetype Created Web Application</display-name>
    </web-app>
    

    我不知道 NetBeans 但 Eclipse(更准确地说是 M2Eclipse)依赖 web.xml 来设置项目方面(因此您需要在导入之前更改 web.xml,Eclipse 不会更新 web 方面如果您在事后更改web.xml)。

    【讨论】:

    • 添加像mkdir -p my-webapp/src/main/java/com/acme/ 这样的步骤可能很有用,并在该目录中放置一个示例 helloworld servlet。
    • 最后几行是如此真实——Eclipse(更准确地说是 M2Eclipse)依赖于 web.xml 来设置项目方面(因此您需要在导入之前更改 web.xml,Eclipse 不会如果您在事后更改 web.xml,请更新 web 方面)。
    • 这是过时的,为 Servlet 2.3 设置的。当前规范是 4.0.1,很快就会升级到 5。
    【解决方案2】:

    Servlet 3 的原型

    我已经创建了用于创建基于 Servlet 3 的 web 应用程序的简单原型:https://github.com/maciejwalkowiak/servlet3-maven-archetype

    只需克隆它,安装并生成使用 Servlet 3、无 XML、Tomcat7 就绪的项目(包括插件)

    【讨论】:

    • 链接不再可用
    【解决方案3】:

    你可以从

    开始
    mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
    

    有关其他原型的列表,请参阅 archetypes list

    【讨论】:

    • -1 他没有问如何创建一个Web项目。他问如何提升 Servlet 版本(默认为 2.3)
    • @Steve11235 你读过问题还是只是标题!他的回答正确地解决了这个问题。
    【解决方案4】:

    更新了原型编号。

    注意:默认情况下,archetype 'maven-archetype-webapp' 生成 Servlet 2.3 应用程序。如需升级到 Servlet 2.5,请关注 Pascal Thivent 的 post #1343356


    请参考此链接Exclusive Maven Archetype List 并点击此链接以获取How to use that archetype

    常用的原型编号有:

    • 610 -> org.apache.maven.archetypes:maven-archetype-webapp(包含示例 Maven Webapp 项目的原型)
    • 600 -> org.apache.maven.archetypes:maven-archetype-j2ee-simple(包含简化示例 J2EE 应用程序的原型。)

    或者只使用下面方便的 maven 命令-

    $ mvn archetype:generate -DgroupId=com.sample -DartifactId=servlet-app -Dversion=0.1-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp

    【讨论】:

    • -1 他没有问如何创建一个Web项目。他问如何提升 Servlet 版本(默认为 2.3)
    • 这是他的问题“简单的 Servlet (2.5) Web 应用程序是否有 Maven 2 原型?” - 请在投票前阅读。 Arch id '200' 确实创建了简单的(servlet)Web 应用程序。
    • @nanosoft - 更新了帖子信息,它回答了你的问题吗?请告诉我。
    • @jeevatkm - 你更新了原型编号。你发布的链接中不存在数字 610 中的一个,而另一个 600 似乎是 org.xaloon.archetype:xaloon-archetype-wicket- jpa-弹簧。但是是的,正确帖子链接中的最后几行(你也更新了)真的很有用。
    • @nansoft - 我的坏人会更新链接内容并修改这篇文章。之后我会告诉你的。谢谢。
    【解决方案5】:
    • 使用 maven-archetype-webapp 原型创建 maven 项目

    命令: mvn archetype:create -DgroupId=com.lei.webapp.quickstart -DartifactId=webapp-quick-start -DarchetypeArtifactId=maven-archetype-webapp

    • 在 pom.xml 中添加以下依赖项:

      javax.servlet servlet-api 2.5

    【讨论】:

      【解决方案6】:

      我让 IDE(我的是 Intellij IDEA)为我创建基本的 webapp 结构。

      转到:

      文件→新建项目→从原型创建→ ...原型-webapp

      这将给出基本的 webapp 结构。

      【讨论】:

      • 这是过时的,为 Servlet 2.3 设置的。当前规范是 4.0.1,很快就会升级到 5。
      猜你喜欢
      • 2013-01-25
      • 1970-01-01
      • 2014-08-17
      • 2011-12-08
      • 1970-01-01
      • 2011-04-21
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多