Tomcat Intellij想法:远程部署

RackSpace Cloud Server Ubuntu-12.04,Intellij Idea-11.1.2,Windows-8,Tomcat-7.0.26,JDK-6。

在Intellij的想法,当我尝试运行我的远程Tomcat 7服务器上的jsf项目它说:

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

看来问题是关于1099的JNDI端口,但我不能激活它。 Tomcatconfiguration是。 像那样:

在这里输入图像说明

我试过了什么?

在服务器端设置CATALINA_OPTS或JAVA_OPTS:

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=-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)

在Intellij中获得war文件

在重建工件之后,可以在project-folder\out\artifacts看到.war文件。 接下来,你应该把这个文件放到你的tomcat/webapps文件夹中。

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

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

在开始调试之前,正如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" ]; then if [ -z "$LOGGING_MANAGER" ]; then行。 它必须在文件的中间部分。 那么你应该可以用Intellij Idea来调试你的项目。