Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Tomcat Intellij Idea:远程部署_Linux_Tomcat_Deployment_Intellij Idea - Fatal编程技术网

Linux Tomcat Intellij Idea:远程部署

Linux Tomcat Intellij Idea:远程部署,linux,tomcat,deployment,intellij-idea,Linux,Tomcat,Deployment,Intellij Idea,机架空间云服务器Ubuntu-12.04、Intellij Idea-11.1.2、Windows-8、Tomcat-7.0.26、JDK-6 在Intellij Idea上,当我尝试在远程Tomcat 7服务器上运行jsf项目时,它会说: 运行servername时出错:无法连接到ip地址:1099 问题似乎是关于JNDI端口的,它是1099,但我想我无法激活它。Tomcat配置是这样的: 我试过什么? 在服务器端使用以下选项设置CATALINA_选项或JAVA_选项: CATALINA_

机架空间云服务器Ubuntu-12.04、Intellij Idea-11.1.2、Windows-8、Tomcat-7.0.26、JDK-6

在Intellij Idea上,当我尝试在远程Tomcat 7服务器上运行jsf项目时,它会说:

运行servername时出错:无法连接到ip地址:1099

问题似乎是关于JNDI端口的,它是1099,但我想我无法激活它。Tomcat配置是这样的:

我试过什么?

在服务器端使用以下选项设置CATALINA_选项或JAVA_选项:

 CATALINA_OPTS=-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false


但是这一个不起作用,有什么想法吗?

我对我的问题的回答:

远程部署的正确方法是在远程服务器上编辑JAVA_OPTS环境变量。只需输入以下命令:

export JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
如果这不起作用,如果你不想通过Intellij Idea部署你的网站,我有这个问题的解决方案。为了能够在Tomcat下运行您的网站,您可以/应该以
.war
文件的形式获取工件

它可以在Intellij中通过项目设置(ctrl+alt+shift+s)完成,然后点击加号按钮并添加新工件(web:application archieve)

重建工件后,可以在
项目文件夹\out\artifacts
中看到
.war
文件。接下来,您应该将此文件放入您的
tomcat/webapps
文件夹中

例如,如果您使用的是Tomcat-7,我指的文件夹存在于
/var/lib/tomcat7/webapps
中。复制
.war文件之前
应将其重命名为
ROOT.war
。这提供了通过
http://youripaddress:8080
。重新启动Tomcat7服务后,您可以访问该站点

但尚未完成,您可以远程调试项目,就像使用Intellij Idea在本地机器上调试项目一样。在Idea中打开运行/调试配置,点击加号按钮,必须有
Remote
。这是在Idea中为JBoss、Glassfish等应用服务器调试项目的方法。输入主机和端口号,选择项目作为模块

在开始调试之前,正如Intellij所说,您应该为服务器JVM提供以下参数:

JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

为了在Ubuntu和Tomcat-7中做到这一点,修改了
usr/share/tomcat7
文件夹中的catalina.sh文件。我在上面插入了
if[-z“$LOGGING_MANAGER”]的参数;然后
行。它必须在文件的中间部分。然后,您应该能够使用Intellij Idea调试项目。

这些参数用于与JConsole/VisualVM连接到正在运行的应用程序。可能不需要百分号?或者;我关闭了从工件构建选项,它不需要JNDI端口,但现在我必须将war文件或war文件放入我的远程服务器,但问题是我应该放在哪里?有关IntelliJ中远程部署的更多信息,请参阅此问题:@WimDeblauwe您的评论与我的问题有纳米关系。@JayGridley是的,我有,检查我的答案。如果您在VM中运行Tomcat,您可能还需要-Djava.rmi.server.hostname=172.16.33.33(用VM IP替换IP)
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"