【问题标题】:How to deploy to Tomcat from NetBeans?如何从 NetBeans 部署到 Tomcat?
【发布时间】:2011-02-16 09:16:39
【问题描述】:

我在“工具 > 服务器”菜单中添加了 Tomcat,您可以看到它出现在服务器列表中:

但是当我尝试运行我的项目时,我无法选择 Tomcat!服务器的下拉菜单是空的。我使用 NetBeans 6.8 和 6.9 Beta 进行了尝试。有什么想法吗?

结局:我使用了错误的原型,因此 NetBeans 认为 Tomcat 无法执行它。

【问题讨论】:

  • 您是如何进入“选择部署服务器”对话框的?我用的是NB7.1,没看到。

标签: java deployment tomcat ide netbeans


【解决方案1】:

您的 webapp 是真正的 Java EE 6 webapp(没有 web.xml 或带有 Servlet 3.0 web.xml)吗?

如果是,可能 NetBeans 没有显示 Tomcat,因为 Tomcat 不是您的应用程序的有效运行时环境(使用 GlassFish)。

【讨论】:

  • 我使用了不包含 web.xml 的 Maven webapp 原型。什么是简单 servlet 应用程序的正确原型?
  • @deamon 嗯...抱歉,我错了,因为我认为您在 src/main/webapp/WEB-INF 下确实有一个 web.xml,不是吗?
【解决方案2】:

进入您的 web.xml 并将标题替换为:

<web-app version="2.5" 
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">

回到属性,你就可以选择Tomcat了

【讨论】:

    【解决方案3】:

    如果您右键单击该项目,选择“属性”并转到“运行”,应该会出现一个服务器下拉列表。那个也是空的吗?

    【讨论】:

    • 这个下拉菜单也是空的。
    【解决方案4】:

    将此添加到您的 pom.xml 之后:&lt;repositories&gt;&lt;/repositories&gt;

    <properties>
            <netbeans.hint.deploy.server>Tomcat60</netbeans.hint.deploy.server>
    </properties>
    

    【讨论】:

    • 出于某种我不知道的原因,我不得不写没有“60”的“Tomcat”……但除此之外,这对我有用。
    【解决方案5】:

    当您创建基于 Maven 的 Web 应用项目时,您可以在创建项目时指定项目的规范版本。

    image of the Maven web App Wizard with default values http://www.freeimagehosting.net/uploads/20d7e476a5.png

    如果您想创建一个可以使用 Tomcat 部署的项目,您需要在点击完成按钮之前将“Java EE Version”字段的值从“Java EE 6”更改为“Java EE 5” .

    注意:我曾希望有一个简单的更改可以应用于您的项目 pom 文件以将其从 Java EE 6 转换为 Java EE 5...但事实证明这并不容易...

    【讨论】:

    • 我想从 ant 转换为 maven,我发现我需要弄乱我的旧 web.xml 并更改命名空间和版本。该版本是 3.0,但将其更改为 2.4 似乎可以满足我的要求。我通过netbeans.org/bugzilla/show_bug.cgi?id=49545 发现了这一点
    【解决方案6】:

    我遇到了同样的问题,在 Netbeans 中创建默认 EE 项目时,它执行了 Tomcat 无法满足的完整 EE 规范。

    我是手动创建的,因为我找不到好的原型,能否请您发布获得好的 Tomcat 原型的地方?

    【讨论】:

      【解决方案7】:

      我遇到了同样的问题并解决了;

      这是因为 Java EE 版本高于 tomcat 版本要求。

      怎么办:

      单击项目选项卡附近的文件选项卡。在 nbproject 文件夹下,选择 j2ee.platform ,如果您使用 Tomcat7,例如将平台更改为 1.6(Tomcat6 > Jave EE 1.5)。而不是对项目进行“清理和构建”。

      现在服务器将出现在 Project > properties > Run > Servers

      【讨论】:

        【解决方案8】:

        当我遇到这个问题时,我犯的一个错误是我试图将 EAR 项目部署到 Tomcat。 Tomcat 不是应用服务器。它是一个网络服务器。当我将 EAR 的唯一 Web 项目部署到 Tomcat 时,它起作用了。 ejb 只能部署到应用服务器。
        我希望这会有所帮助。

        【讨论】:

          【解决方案9】:

          更新后的“网络应用”应如下所示。

          <web-app version="3.1"
            xmlns="http://xmlns.jcp.org/xml/ns/javaee/"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee/ 
            http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_3_1.xsd">
          

          【讨论】:

            猜你喜欢
            • 2014-11-30
            • 2011-09-29
            • 1970-01-01
            • 2012-03-14
            • 2011-02-06
            • 1970-01-01
            • 2023-03-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多