<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    mashiguang

    小馬快跑

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      20 隨筆 :: 0 文章 :: 60 評(píng)論 :: 0 Trackbacks
    用一個(gè)簡(jiǎn)單的ejb3.0示例記錄ant打ear包的過(guò)程

    源碼下載

    環(huán)境:
    apache-ant-1.6.5
    jboss-4.2.1.GA
    jboss-annotations-ejb3.jar
    jboss-ejb3.jar
    jboss-ejb3x.jar
    最后三個(gè)包在jboss里有.

    1,建ejb3.0項(xiàng)目
    session bean接口:HelloWorld
    public interface HelloWorld {
        
    public String sayHello(String name);
    }


    實(shí)現(xiàn)類:HelloWorldBean
    @Stateless
    @Remote (
    {HelloWorld.class})
    public class HelloWorldBean implements HelloWorld {
        
    public String sayHello(String name) {
            
    //org.apache.commons.collections,這里假設(shè)用到了其它包中的類
            CollectionUtils c=new CollectionUtils();
            
    //org.apache.commons.lang
            StringUtils s=new StringUtils(); 
            
    return "hello,i am "+name;
        }

    }


    調(diào)用session bean的jsp:
    <%
    //org.apache.commons.collections,這里假設(shè)用到了其它包中的類
    CollectionUtils c
    =new CollectionUtils();
    //org.apache.commons.lang
    StringUtils s
    =new StringUtils(); 
    %>
    <%
            Properties props 
    = new Properties();
            props.setProperty(
    "java.naming.factory.initial""org.jnp.interfaces.NamingContextFactory");
            props.setProperty(
    "java.naming.provider.url""localhost:1099");
            props.setProperty(
    "java.naming.factory.url.pkgs""org.jboss.naming");    

            InitialContext ctx;
            try {
                ctx 
    = new InitialContext(props);
                HelloWorld helloworld 
    = (HelloWorld) ctx.lookup("myproject/HelloWorldBean/remote");
                out.println(helloworld.sayHello(
    "mashiguang"));
            } catch (NamingException e) {
                out.println(e.getMessage());
            }
    %>


    2,ant示例


    把一些公用的jar包都放到ear下,而不是分別在ejb jar包和war包里,減少jar包的冗余.
    <project name="ear" default="deploy" basedir=".">

        
    <property environment="env" />
        
    <property name="app.dir" value="${basedir}" />
        
    <property name="src.dir" value="${app.dir}\src" />
        
    <property name="classes.dir" value="${app.dir}\build\classes" />
        
    <property name="webcontent.dir" value="${app.dir}\WebContent" />
        
    <property name="jboss.home" value="${env.JBOSS_HOME}" />
        
    <property name="jboss.server.config" value="default" />

        
    <path id="build.classpath" description="編譯時(shí)classpath">
            
    <fileset dir="${webcontent.dir}\WEB-INF\lib">
                
    <include name="*.jar" />
            
    </fileset>
            
    <pathelement location="${classes.dir}" />
        
    </path>

        
    <target name="prepare" depends="clean" description="創(chuàng)建classes文件夾">
            
    <mkdir dir="${classes.dir}" />
        
    </target>

        
    <target name="compile" depends="prepare" description="編繹">
            
    <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="off" includes="**">
                
    <classpath refid="build.classpath" />
            
    </javac>
        
    </target>
        
        
    <target name="sessionInterface" depends="compile" description="創(chuàng)建session bean接口包">
            
    <jar destfile="${app.dir}/interface.jar">
                
    <fileset dir="${classes.dir}">
                    
    <include name="com/mashiguang/ejb3/*.class" />
                
    </fileset>
            
    </jar>
        
    </target>

        
    <target name="ejb_jar" depends="sessionInterface" description="創(chuàng)建ejb jar包">
                
    <jar destfile="${app.dir}/ejb.jar">
                    
    <fileset dir="${classes.dir}">
                        
    <include name="com/mashiguang/ejb3/impl/**" />
                    
    </fileset>
                    
    <manifest>
                        
    <attribute name="Class-Path" value="interface.jar commons-collections-3.2.jar commons-lang-2.3.jar"/>
                    
    </manifest>
                
    </jar>
        
    </target>
        
        
    <target name="web-war" depends="ejb_jar" description="創(chuàng)建WEB發(fā)布包">
            
    <war destfile="${app.dir}/web.war" webxml="${webcontent.dir}/WEB-INF/web.xml">
                
    <fileset dir="${webcontent.dir}">
                    
    <include name="*.jsp"/>
                    
    <exclude name="WEB-INF/web.xml"/>
                    
    <exclude name="WEB-INF/lib/**"/>
                
    </fileset>
                
    <manifest>
                    
    <attribute name="Class-Path" value="interface.jar commons-collections-3.2.jar commons-lang-2.3.jar"/>
                
    </manifest>
            
    </war>
        
    </target>

        
    <target name="ear" depends="web-war" description="創(chuàng)建WEB發(fā)布包">
            
    <ear destfile="${app.dir}/myproject.ear" appxml="${src.dir}/META-INF/application.xml">
                
    <fileset dir="${app.dir}">
                    
    <include name="ejb.jar"/>
                    
    <include name="web.war"/>
                    
    <include name="interface.jar"/>
                
    </fileset>
                
    <fileset dir="${webcontent.dir}/WEB-INF/lib" >
                    
    <include name="commons*.jar"/>
                
    </fileset>
            
    </ear>
        
    </target>
        
        
    <target name="deploy" depends="ear">
            
    <copy file="${app.dir}/myproject.ear" todir="${jboss.home}/server/${jboss.server.config}/deploy" />
        
    </target>

        
    <target name="clean">
            
    <delete>
                
    <fileset dir="${app.dir}">
                    
    <include name="ejb.jar"/>
                    
    <include name="web.war"/>
                    
    <include name="interface.jar"/>
                
    </fileset>
            
    </delete>
            
    <delete dir="${classes.dir}" />
            
    <!-- -->
            
    <delete file="${jboss.home}/server/${jboss.server.config}/deploy/myproject.ear" />
            
        
    </target>

    </project>



    posted on 2007-11-24 00:44 mashiguang 閱讀(6637) 評(píng)論(1)  編輯  收藏 所屬分類: java web開(kāi)發(fā)

    評(píng)論

    # re: ant打ear包的詳細(xì)步驟 2011-04-19 16:43 兩性知識(shí),減肥方法,豐胸方法,祛雀斑方法
    用著不是很順手  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 免费国产高清视频| 免费福利在线观看| 九月丁香婷婷亚洲综合色| 女人18毛片特级一级免费视频| 日本免费中文视频| 无人视频免费观看免费视频 | 久久免费香蕉视频| 老子影院午夜伦不卡亚洲| 国产.亚洲.欧洲在线| 精品日韩亚洲AV无码一区二区三区| 亚洲欧洲自拍拍偷精品 美利坚| 免费无码成人AV片在线在线播放| 成人黄色免费网址| 日韩内射激情视频在线播放免费| 久久国产精品免费一区二区三区| 亚洲av综合日韩| 亚洲av永久无码精品网址| 久久精品国产亚洲AV蜜臀色欲| 亚洲国产一区二区a毛片| 亚洲av之男人的天堂网站| 亚洲中文字幕不卡无码| 国产精品亚洲产品一区二区三区 | 亚洲电影在线免费观看| 亚洲国产精品无码久久一线| 久久精品国产精品亚洲艾草网美妙| 国产a级特黄的片子视频免费| 色www永久免费视频| 毛片免费观看网址| 毛片免费视频播放| 噜噜嘿在线视频免费观看| 国产精品久久久久免费a∨ | 亚洲精品动漫在线| 亚洲日本国产乱码va在线观看| 亚洲黄色在线观看网站| 亚洲欧洲综合在线| 亚洲第一网站免费视频| 亚洲香蕉久久一区二区 | 国产成人A在线观看视频免费 | 亚洲人成自拍网站在线观看| 亚洲欧美熟妇综合久久久久| 亚洲av永久无码|