[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

build.xml para rodar JACORB soh com os jars




oi pessoal

toda hora eu tinha de ficar dando NS arquivo, IDL idl, JACO servidor, JACO
cliente.... e o ant nao tem suporte a isso

entao eu criei um build.xml que quando roda o IDL, usando o idl.jar
(coloque no dir /lib).

nesse build voce tambem pode rodar qualquer cosia do JACO, pois ele chama
o java, dando um bootstrap diferente e setando a classe do ORB que deve
ser usada... (ie: -Xbootclasspath/p:${lib}/jacorb.jar
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton).


o xml ta ai, eh muito melhor do que depender da instalacao do JACORB, pois
vc soh precisa do jacorb.jar e do idl.jar, e nao precisa daqueles arquivos
dentro do bin. o bom disso eh que voce fica independete da instalacao do
jacorb, mas mesmo assim pode usar atraves da linha de comando.

entao na hora de voce testar, soh precisa fazer

ant ns // roda o naming service
ant runserver // roda o seu servidor de chat rooms
ant client // roda o cliente, chame varias vezes para varios clientes

eh logico que voces precisam mudar umas coisinhas nesse xml, como o
arquiuvo que vai ser usado para namingservice, e a sua classe de server e
client. o arquivo funciona para qualquer versao do jacorb maior que a 1.3,
voce precisa apenas dos dois jars dentro da sua lib.

falou
paulo


<?xml version="1.0"?>

<project name="Mac440-ep1" default="runserver">

  <!-- ==================================================== -->
  <!-- Build file for MAC440 - ep1                          -->
  <!-- ==================================================== -->

   <property name="lib" value="lib"/>
   <property name="src" value="src"/>
   <property name="bin" value="bin"/>
   <property name="idl" value="idl"/>
   <property name="namingservice" value="c:/jacorb.temp"/>
   <property name="idlflags" value="-I${include}/omg -ir  -d ${src}"/>
	
   <target name="init">
    <mkdir dir="${bin}"/>
   </target>

   <target name="compile" depends="idl">
     <javac
debug="true" classpath="${classpath}" srcdir="${src}" destdir="${bin}">
        <classpath>
          <pathelement path="${classpath}"/>
          <fileset dir="${lib}">
            <include name="**/*.jar"/>
          </fileset>
        </classpath>
     </javac>
   </target>

   <target name="idl" depends="init">
        <java classname="org.jacorb.idl.parser" 
              fork="yes" 
              classpath="${lib}/idl.jar">
	      <arg line="${idlflags}
	      ${idl}/ep1.idl"/>
         </java>
   </target>

   <target name="clean">
	   <delete dir="${bin}"/>
   </target>

   <target name="runclient">
     <java classname="mac440.client.Client" 
        fork="yes">
        <classpath>
          <pathelement path="${bin}"/>
          <fileset dir="${lib}">
            <include name="**/*.jar"/>
          </fileset>
        </classpath>
        <jvmarg line="-Xbootclasspath/p:${lib}/jacorb.jar
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton"/> 
     </java>
   </target>

   <target name="runserver" depends="compile">
     <java classname="mac440.server.Server" 
        fork="yes">
        <classpath>
          <pathelement path="${bin}"/>
          <fileset dir="${lib}">
            <include name="**/*.jar"/>
          </fileset>
        </classpath>
        <jvmarg line="-Xbootclasspath/p:${lib}/jacorb.jar
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton"/> 
     </java>
   </target>

   <target name="ns">
     <java classname="org.jacorb.naming.NameServer" 
        fork="yes">
        <classpath>
          <fileset dir="${lib}">
            <include name="**/*.jar"/>
          </fileset>
        </classpath>
        <jvmarg line="-Xbootclasspath/p:${lib}/jacorb.jar
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton"/> 
        <arg line="${namingservice}"/>
     </java>
   </target>


</project>