隨筆-84  評論-56  文章-0  trackbacks-0

          Intellij IconHere's how you can run maven built web applications directly from within Intellij IDEA 8. Once you run this way, you completely eliminate the code, build, deploy, restart cycle just when you want to make a change... you can even change classes on the fly (hot swapping).

          I pretty much only run in debug mode now. Debugging is really nice because the dependent source files are linked up and downloaded automagically by maven on the fly and class changes via hot swapping really makes you productive. The archetype selection in the project creation wizard came with version 8 but the rest of the guide will work with versions 6 and 7 as well. I used the appfuse-basic-spring archetype as the web application but any web app built with maven should work in a pretty similar way.

          Create Maven Module

          First, we need a project. There's nothing special to note here with the exception of the name field. The name field cannot contain a space. If it does, Intellij doesn't start up tomcat properly and you get this ClassNotFoundException on logging/properties.

          Create new project

          Choose Maven Archetype

          You can type in what you want to for your particular project here. Then click Finish.

          Choose Archetype

          Build Project with Maven

          Next you need to build the project to make the output directories.

          Run Maven Package

          Click Edit Configurations

          There's a button on the toolbar or you can find it by going to Run --> Edit Configurations. After you click the plus sign and pick local tomcat server you'll see this

          Run/Debug Configurations

          Pick Application Server

          If you've already configured an application server for Intellij, you can just choose it in the dropdown menu. Otherwise you'll need to configure one. After you click Configure... you'll see this screen:

          Create Local Tomcat Server

          If you haven't installed Tomcat locally you'll of course need to do that. Then click the plus sign and pick the tomcat home and Intellij will figure out the rest.

          After you hit ok, you'll be back to the Run/Debug Configurations menu. Now you can choose the server from the dropdown and the Startup page: should be filled in with whatever port your Tomcat server has been configured to use.

          After Tomcat Server Config

          Click on Deployment Tab

          This is where you choose the deployment source and application context for the web facet within the application. First click on the Web Facet: Web module in the middle pane and check the Deploy Web Facet 'Web' checkbox.

          Click Deployment Tab

          Click the Configure... button.

          Configure the Deployment Source

          Uncheck the Create web facet war file and choose Create web facet exploded directory instead.

          Java EE Build Settings Default

          Click the ellipses (...) button to choose the exploded directory:

          Select Web Facet Exploded Directory

          Choose the location under the target folder where maven built the war. It is going to be named using artifactId-version that you chose when you created the project in the first place. This information is stored in the pom.xml file so you can change it whenever you want. If you do change it go back to the Build Project with Maven step after you have done so.

          Click Ok. Then Click Ok to close the Deployment Source window.

          Finish Deployment Tab

          Now you can select the Deployment Source and set your application context.

          Finish Web Facet Deployment

          Click Ok.

          Run/Debug the Application

          You should see the server startup successfully

          Click the Run Button

          Login to the Application

          See Login Page

          Login to the application

          Hot Swapping

          If you've started up in debug mode (highly recommended), change a class in the class path and make the project (Apple+F9) or compile the specific class you've changed (Apple+Shift+F9). You should be presented with this popup:

          Redeploy Application Popup

          Make sure you click No on this dialog box. If you click yes, hot swapping won't work. I usually check Do not show this dialog in the future as well.

          That's it! Now when you change classes and JSPs you can just compile and they will be hot swapped with resources on the running server. 

          posted on 2008-12-10 16:38 憶風 閱讀(621) 評論(0)  編輯  收藏 所屬分類: IDE
          主站蜘蛛池模板: 家居| 改则县| 抚松县| 南平市| 天全县| 英吉沙县| 新昌县| 新余市| 新和县| 深水埗区| 调兵山市| 黑河市| 鸡泽县| 伊金霍洛旗| 富锦市| 攀枝花市| 车险| 东方市| 绍兴县| 咸阳市| 舞钢市| 五家渠市| 昭通市| 平定县| 浦北县| 句容市| 溆浦县| 林甸县| 韶山市| 芷江| 敦化市| 宣汉县| 乌恰县| 久治县| 都安| 富民县| 奎屯市| 钟山县| 武汉市| 洪湖市| 义乌市|