編程生活

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks
          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          留言簿(5)

          隨筆檔案

          搜索

          積分與排名

          最新評論

          Running Seam 2.0 on Tomcat(EJB3) using Maven and Cargo
           Created: Fri 12 Oct 2007 Posted by: wesleyhales under Java [2] Comments In this article I review a simple Seam 2.0.0.CR2 app that deploys to Tomcat 6.0.13 with JBoss Embedded Beta2.

          It's great to see Seam move to Maven because tracking and installing all those dependencies in a local repository was a pain in the ass! This project is moving fast, and if you wanted to keep up with the latest version, it was a lot of work. So now that my life is easier, I thought I would make the Seam+EJB+Tomcat user's life a little easier also.

          The following is included in this sample app:

          Trinidad 1.0.2
          JBoss RichFaces
          JAAS
          Drools
          JBPM
          And everything else that seam and Embedded/EJB3 provides out of box.
          All you need to have is Maven 2.0.x installed. The rest is cake. During the installation Cargo will download a zip file from the JBoss Maven repository. This is the Tomcat 6.0.13 distro with Embedded already installed and setup. Nothing else has been added to it.

          Directions
          Download the Seam Maven application
          Unzip and navigate to the root of the project.
          run mvn install
          *Note - This will install and download all the dependencies along with downloading the tomcat+embedded distro, so it may take a few minutes. Also, If you want to disable the automatic starting of the Tomcat server, go to the web/pom.xml and disable the <executions> node of the cargo plugin if you want to disable this feature.
          navigate to [app_root]/web/src/main/webapp/META-INF and change the context.xml to point to [app_root]/web/target/seamtestapp
          Open a new terminal and navigate to the [app_root]/web and run mvn cargo:deploy
          navigate to http://localhost:8080/seamtestapp
          Thats it! You may see an error on the deploy, Cargo just pings a page to see if it actually deployed. The error is because Trinidad doesn't understand the user agent... anyways, don't worry about it ;)
          *Note - I used a stub for the datasource in TOMCAT_HOME/lib/deploy. Don't forget that this deploy directory is supposed to be the same as JBoss AS deploy directory.

          I used a few cool things in the maven pom setup:

          It seems you can trick cargo into using the latest version of tomcat. The documentation says Tomcat5x is only supported for the container, but I didn't have any problems using 6.0.x with the Tomcat5x containerId
          The cargo.container.url can be local, there is an example in the web/pom.xml (at the bottom)...So once you have this downloaded in you target dir, I would copy it somewhere outside of target and change the cargo.container.url to point to it. It will save time from downloading and bandwidth. It would be cool to add it as a dependency and then unzip from your local maven repo, but I haven't tried it yet.
          Like I mentioned earlier, if you want to disable auto start of the Tomcat server you should disable this section of the cargo plugin in web/pom.xml                    <executions>
                                <execution>
                                  <id>start</id>
                                  <phase>install</phase>

                                  <goals>
                                    <goal>start</goal>
                                  </goals>
                                </execution>

                                <execution>
                                  <id>deploy-app</id>
                                  <phase>install</phase>
                                  <goals>

                                    <goal>deployer-deploy</goal>
                                  </goals>
                                </execution>
                            </executions>
                           
          I have another version of this sample app that uses profiles to build either an EAR for JBoss or a WAR for Tomcat+Embedded. Michael Yuan recently touched on this subject about the EAR+Seam maven impl and did a great job breaking it down. I will try to post the sample app that lets you build a war for Tomcat or an EAR for JBoss all based on the maven profile i.e... mvn install -Ptomcat or mvn install -Pjboss This is the power of Maven2 and there is soo much more you can do with it.
          btw, I haven't blogged since I've become an employee for JBoss, a division of Red Hat. I'm working on the JBoss Portal Team and I must say that the company is awesome, my team is awesome, and everyone I have met and talked to have been, you guessed it, AWESOME!

           

          posted on 2007-11-10 15:36 wilesun 閱讀(551) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 新巴尔虎右旗| 通江县| 廊坊市| 大余县| 泗阳县| 石河子市| 福清市| 绿春县| 绥中县| 曲水县| 德令哈市| 安图县| 锡林浩特市| 南雄市| 恩平市| 思南县| 梁河县| 鄯善县| 临夏市| 谢通门县| 兰州市| 定日县| 广饶县| 宣城市| 吴忠市| 石门县| 定襄县| 汉源县| 大丰市| 黔西| 澄迈县| 三河市| 潜江市| 西乌珠穆沁旗| 兴仁县| 文水县| 通山县| 建水县| 塘沽区| 涿州市| 亳州市|