【问题标题】:Server is not connected when trying to deploy with intellij尝试使用 intellij 部署时未连接服务器
【发布时间】:2014-09-28 15:33:27
【问题描述】:

我正在尝试在 intellij 中构建、部署和调试我的 webapp。

我已经使用this 答案设置了我的tomcat,并且我能够让服务器运行。问题是我的 webapp 没有被部署,尽管它是在 deployment 选项卡中定义的。

我收到以下错误: 服务器未连接。部署不可用

如果我复制战争并启动服务器,一切正常。使用端口 8080 和 8000。

我做错了什么?

以防万一,该项目是使用 Maven 和 Spring 构建的

我为服务器添加了运行/调试配置:

服务器标签

部署标签

调试控制台输出:

D:\development\infra\appServers\apache-tomcat-7.0.47\bin\catalina.bat run
[2014-08-05 01:23:11,413] Artifact devstage:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\chaim\.IntelliJIdea13\system\tomcat\Unnamed_devstage_4"
Using CATALINA_HOME:   "D:\development\infra\appServers\apache-tomcat-7.0.47"
Using CATALINA_TMPDIR: "D:\development\infra\appServers\apache-tomcat-7.0.47\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.7.0_45"
Using CLASSPATH:       "D:\development\infra\appServers\apache-tomcat-7.0.47\bin\bootstrap.jar;D:\development\infra\appServers\apache-tomcat-7.0.47\bin\tomcat-juli.jar"
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.29 using APR version 1.4.8.
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.1e 11 Feb 2013)
Aug 05, 2014 1:23:12 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
Aug 05, 2014 1:23:12 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Aug 05, 2014 1:23:12 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 902 ms
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Aug 05, 2014 1:23:12 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
Aug 05, 2014 1:23:12 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Aug 05, 2014 1:23:12 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Aug 05, 2014 1:23:12 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 35 ms
[2014-08-05 01:23:21,363] Artifact devstage:war exploded: Server is not connected. Deploy is not available.
Aug 05, 2014 1:23:22 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\development\infra\appServers\apache-tomcat-7.0.47\webapps\manager
[2014-08-05 01:23:38,311] Artifact devstage:war exploded: Server is not connected. Deploy is not available.

【问题讨论】:

标签: tomcat intellij-idea war auto-update


【解决方案1】:

另一个可能的原因可能是您手动运行了一个独立的 Wildfly 应用服务器并手动将您的包复制到其 deployment 文件夹中。

在这种情况下,Intellij 会尝试运行 Wildfly(即使您已停止手动运行 Wildfly)并复制应用程序包以进行部署。但是deployment folder已经有这样的包了。

.../wildfly/standalone/deployments/ 中删除 myapp.earmyapp.war 并从 Intellij 中运行或调试。

【讨论】:

    【解决方案2】:

    我在尝试将项目从 eclipse 导入 IDEA 时遇到了这个问题。

    我的解决方案是,删除.idea 文件夹,重新导入整个项目。我不知道这个问题的确切原因是什么,但对我有用。

    现在日志看起来像这样:

    /Library/Tomcat/bin/catalina.sh run
    
    [2015-09-22 12:40:57,906] Artifact bookstore:war exploded: Server is not connected. Deploy is not available.
    XXXXXX
    Connected to server
    [2015-09-22 12:40:58,848] Artifact bookstore:war exploded: Artifact is being deployed, please wait...
    XXXXXX
    [2015-09-22 12:41:07,862] Artifact bookstore:war exploded: Artifact is deployed successfully
    [2015-09-22 12:41:07,863] Artifact bookstore:war exploded: Deploy took 9,015 milliseconds
    

    【讨论】:

    • 您的日志仍然显示您有问题:服务器未连接。部署不可用。
    【解决方案3】:

    就我而言,这个问题是由于 catalina.bat(或 catalina.sh)中定义的 JAVA_OPTS 变量造成的。

    我只注释了 catalina.bat 的第一行,一切都开始工作了。 这是行:

    set "JAVA_OPTS=-Xmx1024M -XX:MaxPermSize=512m -Djava.util.logging.config.file=logging.properties -Djava.net.preferIPv4Stack=true"
    

    要发表评论,请将rem放在前面。 rem 是在 windows .bat 文件中注释一行的方法。

    我想这条线与 IntelliJ JAVA_OPTS 设置冲突。事实上,IntelliJ 尝试在 tomcat 上设置一个端口用作调试器,但是 catalina.bat JAVA_OPTS 变量删除了这个设置。

    【讨论】:

    • 我在使用旧版软件时遇到了同样的问题。就我而言,JAVA_OPTS 在 setenv.sh 中被覆盖。这是用户定义的环境变量的默认位置。拯救了我的一天!
    【解决方案4】:

    (3.2) 设置 JRE_HOME 或 JAVA_HOME(必填)

    这些变量用于指定 Java 运行时环境或用于启动 Tomcat 的 Java 开发工具包的位置。

    JRE_HOME 变量用于指定 JRE 的位置。 JAVA_HOME 变量用于指定 JDK 的位置。

    使用 JAVA_HOME 可以访问某些在使用 JRE_HOME 时不允许的附加启动选项。

    如果同时指定了 JRE_HOME 和 JAVA_HOME,则使用 JRE_HOME。

    【讨论】:

      【解决方案5】:

      简而言之:

      将我的 IntelliJ 配置设置为运行我在后台运行的最新版本的 Tomcat 后,我​​的问题得到了解决。

      简要说明:

      当我进行设置并在另一台机器上工作时,我的 IntelliJ 14 中出现了完全相同的错误。 虽然问题的根源可能不同,但就我而言,这是根本原因:

      我的机器上基本上安装了两个不同版本的 Tomcat。 Tomcat 8 在端口 8090 上在后台运行,尽管将我的调试器实例端口设置为 8091,但它给了我以下错误:

      服务器未连接。部署不可用。

      以及以下警告:

      下午 1:21:18 可以同时绑定和连接到 localhost:8091 - 应用服务器可能会与端口上的其他一些软件竞争

      1:32:39 PM 运行配置停止前未连接应用服务器,原因: 无法在 localhost:1099 ping 服务器

      将我的 IntelliJ 配置设置为运行我在后台运行的最新版本的 Tomcat 后,我​​的问题得到了解决。

      提示:在调试模式下运行应用程序可能会减慢它们的速度。我通常有两个实例在运行。一个处于调试模式,一个处于正常模式,位于两个不同的端口。这样我就可以拥有我的 Web 应用程序的普通实例以及调试器实例,以进行更深入的调查。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-20
        • 2015-02-23
        • 1970-01-01
        • 2018-04-10
        • 2021-03-08
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        相关资源
        最近更新 更多