2012-12-29 69 views
10

RackSpace Cloud Server Ubuntu-12.04,Intellij Idea-11.1.2,Windows-8,Tomcat-7.0.26,JDK-6。Tomcat Intellij想法:遠程部署

在IntelliJ IDEA的,當我嘗試我的遠程的Tomcat 7服務器時,它運行JSF項目說:

錯誤運行服務器名:無法連接到IP地址:1099

似乎問題是關於JNDI端口是1099,但我不能激活它我猜。 Tomcat配置是。這樣的:

enter image description here

我沒試過嗎?

設置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 

但是這一次沒有工作,任何想法?

+0

這些參數用於與JConsole/VisualVM連接到正在運行的應用程序。百分號可能不需要? –

+0

不行不行 –

+0

或者;我關閉從神器選項構建它不需要JNDI端口,但現在我必須把戰爭爆炸或戰爭文件放入我的遠程服務器,但問題是我應該把它放在哪裏? –

回答

14

我的回答我的問題:

遠程部署正確的方法是編輯在遠程服務器上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)來完成,然後打加號按鈕,並添加新的工件(網址:應用程序archieve)

get war file in Intellij

重建神器後,.war文件可以在project-folder\out\artifacts中看到。接下來,你應該把這個文件放到你的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,修改catalina.sh文件在usr/share/tomcat7文件夾中。我插入了if [ -z "$LOGGING_MANAGER" ]; then行上面的參數。它必須在文件的中間部分。那麼你應該可以用Intellij Idea來調試你的項目。

+1

如果您在VM中運行Tomcat,您可能還需要-Djava.rmi.server.hostname = 172.16.33.33(將IP替換爲VM IP) – hannson