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)
在重建工件之后,可以在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来调试你的项目。