尝试使用intellij进行部署时,服务器未连接

问题描述 投票:21回答:5

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

我使用这个答案设置了我的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
5个回答
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变量删除了此设置。


2
投票

简而言之:

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

简要说明:

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

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

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

以及警告:

1:21:18 PM可以同时绑定并连接到localhost:8091 - 应用程序服务器可能会与端口上的其他软件竞争

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

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

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

希望这可以帮助。


0
投票

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

这些变量用于指定Java Runtime Environment或用于启动Tomcat的Java Development Kit的位置。

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

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

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


0
投票

当我尝试将项目从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

0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.