服务器未连接。部署不可用。 IntelliJ 13 和 Tomcat 7

Posted

技术标签:

【中文标题】服务器未连接。部署不可用。 IntelliJ 13 和 Tomcat 7【英文标题】:Server is not connected. Deploy is not available. IntelliJ 13 and Tomcat 7 【发布时间】:2015-02-23 20:05:57 【问题描述】:

尝试使用 IntelliJ 13 和 Apache tomcat 7.0.42 运行我的应用程序。 JDK1.6

总是收到错误Artifact app:war exploded: Server is not connected。部署不可用。

但是当我使用 catalina.sh start 通过终端进行部署时,它工作得非常好。

我参考了这个链接进行设置:http://confluence.jetbrains.com/display/IntelliJIDEA/Application+Servers

知道我错过了什么吗?

这是 Tomcat Catalina 日志:

Dec 29, 2014 11:43:29 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Dec 29, 2014 11:43:29 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Dec 29, 2014 11:43:29 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Dec 29, 2014 11:43:29 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 614 ms
Dec 29, 2014 11:43:29 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Dec 29, 2014 11:43:29 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42
Dec 29, 2014 11:43:29 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Dec 29, 2014 11:43:29 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 29, 2014 11:43:29 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 44 ms
Dec 29, 2014 11:43:39 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Users/yesuagg/apache-tomcat-7.0.42/webapps/manager

事件日志中的异常

4:58:40 PM Compilation completed successfully with 104 warnings in 6 sec
4:58:42 PM Application Server was not connected before run configuration stop, reason:
       java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: 
       java.net.ConnectException: Connection refused]

【问题讨论】:

能否请您尝试在 Intellij 中设置另一个版本的 tomcat 并进行测试。 用tomcat6试过了。同样的错误 尝试检查tomcat日志文件并将错误粘贴到这里 @HBizhi:上面的日志我加了。 您在tomcat日志中没有错误,这意味着可能某些软件似乎阻塞了tomcat套接字。尝试禁用您认为可能会干扰的所有防病毒软件或应用程序。另外,请检查运行/调试配置,如果工件存在于名为 Before lunch:Make, Build Artifacts 的框中,则在其中定义了一个 tomcat 服务器。如果不存在尝试添加它。如果可以,请尝试更改定义的tomcat服务器的端口号。 【参考方案1】:

请查看 Christian 发布的这个答案并阅读该主题。 Tomcat deployment issue via IntelliJ

只需尝试删除 $CATALINA_HOME/bin 中的 setenv.sh

【讨论】:

我已经看过这个帖子了。我在 $CATALINA_HOME/bin 中没有 setenv.sh 删除后我会重启机器看看效果如何。如果您已经这样做了,那么我不确定还有什么问题:( Windows 中的 $CATALINA_HOME 在哪里?我只设置了 $JAVA_HOME 我没有 C:\java\apache-tomcat-6.0.16\bin\setenv.sh 不要删除文件,这太疯狂了。只要确保如果您覆盖 CATALINA_OPTS,请包含以前的值 - 例如CATALINA_OPTS=" $CATALINA_OPTS"【参考方案2】:

我今天遇到了这个问题,这不是由于 setenv.sh 在另一个线程中讨论的。最后是 $CATALINA_BASE/conf/server.xml 的问题。

出于某种原因,我们在 server.xml 中使用了自定义引擎名称,例如

<Engine name="custom-value" defaultHost="localhost">

我再次尝试使用来自 tomcat 7.0.57 的干净 server.xml 并完美部署工件。经过反复试验,它归结为这一行。

将引擎名称更改为“Catalina”,如下所示值解决了我们的问题,并允许使用我们自定义的 server.xml 部署我们的分解工件

<Engine name="Catalina" defaultHost="localhost">

如果您看到此问题,请尝试使用干净的 server.xml 并从那里向后工作。

【讨论】:

【参考方案3】:

tomcat-7.0-doc RUNNING

(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。

【讨论】:

【参考方案4】:

就我而言,Intellij IDEA 不支持从 linux 存储库安装运行 tomcat8。 /usr/share/tomcat/bin/catalina.sh 启动(不支持) /usr/share/tomcat/bin/catalina.sh 运行(支持)

只从官网安装tomcat8。我尝试使用从http://tomcat.apache.org/download-80.cgi 下载的发行版。所以我得到了成功的结果。

原因在于 linux 发行版的 catalina.sh 文件中,其中没有“运行”命令。但是在下载的tomcat中有“运行”命令。 catalina.sh_InstalledFromLinuxRepository

【讨论】:

【参考方案5】:

您是否在 Tomcat bat/sh 文件中的任何位置设置了 JAVA_OPTS? 如果这样做,请确保也保留以前的值 - IDEA 似乎使用这些值来指定一些与 Tomcat 的连接选项。 例如。在 .sh 文件中做

JAVA_OPTS="<your new stuff> $JAVA_OPTS"

而不仅仅是

JAVA_OPTS=<your new stuff>

附:实际上与此相同的答案:https://***.com/a/28867346/307295

【讨论】:

以上是关于服务器未连接。部署不可用。 IntelliJ 13 和 Tomcat 7的主要内容,如果未能解决你的问题,请参考以下文章

Idea 中的 Tomcat。战争爆发:服务器未连接。部署不可用

无法在 Intellij 中调试 android 应用程序:“警告:调试信息可能不可用。”

笔记本电脑提示wifi未连接不可用怎么办

Intellij SBT 超时错误

与EPLAN Client Service 的连接不可用

静态资源未部署到 tomcat-docbase 文件夹 - (IntelliJ 2018 / Spring Boot 2 / Embedded Tomcat)