我正在尝试在intellij中构建,部署和调试我的webapp。
我使用this回答设置了我的tomcat,我能够让服务器运行。问题是我的webapp没有被部署,尽管它是在deployment
选项卡中定义的。
我收到以下错误: 服务器未连接。部署不可用
如果我复制战争并启动服务器,一切正常。使用端口8080和8000。
我做错了什么?
为了防止它与某种程度相关,该项目是使用Maven& amp;春天
我添加了服务器的运行/调试配置:
服务器标签
部署标签
调试控制台输出:
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.
答案 0 :(得分: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变量删除了此设置。
答案 1 :(得分: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应用程序的正常实例以及调试器实例,以进行更深入的调查。
希望这会有所帮助。
答案 2 :(得分: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。
答案 3 :(得分: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
答案 4 :(得分:0)
另一个可能的原因可能是您手动运行一个独立的Wildfly 应用服务器,然后将其包手动复制到其shouldComponentUpdate
文件夹中。
在这种情况下,Intellij会尝试运行Wildfly(即使您已停止手动运行Wildfly)并复制应用程序的程序包以进行部署。但是deployment
中已经有这样的软件包。
从deployment folder
中删除myapp.ear
或myapp.war
,并从Intellij中运行或调试。