How to create EAR file using ant build.xml for multi module application?












0















I need to build my multi module application using ant build tool, I am unable find suitable documents. I have few doubts.



Actually our application consists of 7 modules out of which 1 is EAR module(Currently we are building through eclipse without using any build tool).



So my doubt is




  1. can i write a single build.xml i.e in EAR module(EAR project) for building project or do i need to write build.xml for every modules?



  2. and also our project has cyclic dependencies, so is it possible to build using Ant without solving those cyclic dependencies....?



    Thanks in advance












share|improve this question



























    0















    I need to build my multi module application using ant build tool, I am unable find suitable documents. I have few doubts.



    Actually our application consists of 7 modules out of which 1 is EAR module(Currently we are building through eclipse without using any build tool).



    So my doubt is




    1. can i write a single build.xml i.e in EAR module(EAR project) for building project or do i need to write build.xml for every modules?



    2. and also our project has cyclic dependencies, so is it possible to build using Ant without solving those cyclic dependencies....?



      Thanks in advance












    share|improve this question

























      0












      0








      0


      1






      I need to build my multi module application using ant build tool, I am unable find suitable documents. I have few doubts.



      Actually our application consists of 7 modules out of which 1 is EAR module(Currently we are building through eclipse without using any build tool).



      So my doubt is




      1. can i write a single build.xml i.e in EAR module(EAR project) for building project or do i need to write build.xml for every modules?



      2. and also our project has cyclic dependencies, so is it possible to build using Ant without solving those cyclic dependencies....?



        Thanks in advance












      share|improve this question














      I need to build my multi module application using ant build tool, I am unable find suitable documents. I have few doubts.



      Actually our application consists of 7 modules out of which 1 is EAR module(Currently we are building through eclipse without using any build tool).



      So my doubt is




      1. can i write a single build.xml i.e in EAR module(EAR project) for building project or do i need to write build.xml for every modules?



      2. and also our project has cyclic dependencies, so is it possible to build using Ant without solving those cyclic dependencies....?



        Thanks in advance









      ant ear build.xml building






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 14 '18 at 13:28









      Akshay KrishnaAkshay Krishna

      3117




      3117
























          1 Answer
          1






          active

          oldest

          votes


















          1
















          1. you should have separate build.xmls for all of your modules. build.xml of your ear module should call all other module's build files and finally export the ear with ear task which may look like;






            <property name="build.dir" value="/path/to/your/build-directory/" />
            <property name="src.dir" value="/path/to/ear-module/" />

            <target name="generate-module-jars">
            <!-- this should build module and export module jar to ${build.dir} -->
            <ant antfile="module1/build.xml" target="jar" />
            <!-- this should build module and export module jar to ${build.dir} -->
            <ant antfile="module2/build.xml" target="jar" />
            <!-- this should build module and export module jar to ${build.dir} -->
            <ant antfile="module3/build.xml" target="jar" />
            </target>

            <target name="export-ear" depends="generate-module-jars">
            <ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
            <fileset dir="${build.dir}" includes="*.jar,*.war"/>
            </ear>
            </target>




          2. You should reorganize your modules removing cyclic dependencies. But still you can use ivy. Or you can self implement an ant task directly calling eclipse's compiler that can handle cyclic dependencies. (if you are using eclipse)







          share|improve this answer

























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53301361%2fhow-to-create-ear-file-using-ant-build-xml-for-multi-module-application%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1
















            1. you should have separate build.xmls for all of your modules. build.xml of your ear module should call all other module's build files and finally export the ear with ear task which may look like;






              <property name="build.dir" value="/path/to/your/build-directory/" />
              <property name="src.dir" value="/path/to/ear-module/" />

              <target name="generate-module-jars">
              <!-- this should build module and export module jar to ${build.dir} -->
              <ant antfile="module1/build.xml" target="jar" />
              <!-- this should build module and export module jar to ${build.dir} -->
              <ant antfile="module2/build.xml" target="jar" />
              <!-- this should build module and export module jar to ${build.dir} -->
              <ant antfile="module3/build.xml" target="jar" />
              </target>

              <target name="export-ear" depends="generate-module-jars">
              <ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
              <fileset dir="${build.dir}" includes="*.jar,*.war"/>
              </ear>
              </target>




            2. You should reorganize your modules removing cyclic dependencies. But still you can use ivy. Or you can self implement an ant task directly calling eclipse's compiler that can handle cyclic dependencies. (if you are using eclipse)







            share|improve this answer






























              1
















              1. you should have separate build.xmls for all of your modules. build.xml of your ear module should call all other module's build files and finally export the ear with ear task which may look like;






                <property name="build.dir" value="/path/to/your/build-directory/" />
                <property name="src.dir" value="/path/to/ear-module/" />

                <target name="generate-module-jars">
                <!-- this should build module and export module jar to ${build.dir} -->
                <ant antfile="module1/build.xml" target="jar" />
                <!-- this should build module and export module jar to ${build.dir} -->
                <ant antfile="module2/build.xml" target="jar" />
                <!-- this should build module and export module jar to ${build.dir} -->
                <ant antfile="module3/build.xml" target="jar" />
                </target>

                <target name="export-ear" depends="generate-module-jars">
                <ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
                <fileset dir="${build.dir}" includes="*.jar,*.war"/>
                </ear>
                </target>




              2. You should reorganize your modules removing cyclic dependencies. But still you can use ivy. Or you can self implement an ant task directly calling eclipse's compiler that can handle cyclic dependencies. (if you are using eclipse)







              share|improve this answer




























                1












                1








                1









                1. you should have separate build.xmls for all of your modules. build.xml of your ear module should call all other module's build files and finally export the ear with ear task which may look like;






                  <property name="build.dir" value="/path/to/your/build-directory/" />
                  <property name="src.dir" value="/path/to/ear-module/" />

                  <target name="generate-module-jars">
                  <!-- this should build module and export module jar to ${build.dir} -->
                  <ant antfile="module1/build.xml" target="jar" />
                  <!-- this should build module and export module jar to ${build.dir} -->
                  <ant antfile="module2/build.xml" target="jar" />
                  <!-- this should build module and export module jar to ${build.dir} -->
                  <ant antfile="module3/build.xml" target="jar" />
                  </target>

                  <target name="export-ear" depends="generate-module-jars">
                  <ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
                  <fileset dir="${build.dir}" includes="*.jar,*.war"/>
                  </ear>
                  </target>




                2. You should reorganize your modules removing cyclic dependencies. But still you can use ivy. Or you can self implement an ant task directly calling eclipse's compiler that can handle cyclic dependencies. (if you are using eclipse)







                share|improve this answer

















                1. you should have separate build.xmls for all of your modules. build.xml of your ear module should call all other module's build files and finally export the ear with ear task which may look like;






                  <property name="build.dir" value="/path/to/your/build-directory/" />
                  <property name="src.dir" value="/path/to/ear-module/" />

                  <target name="generate-module-jars">
                  <!-- this should build module and export module jar to ${build.dir} -->
                  <ant antfile="module1/build.xml" target="jar" />
                  <!-- this should build module and export module jar to ${build.dir} -->
                  <ant antfile="module2/build.xml" target="jar" />
                  <!-- this should build module and export module jar to ${build.dir} -->
                  <ant antfile="module3/build.xml" target="jar" />
                  </target>

                  <target name="export-ear" depends="generate-module-jars">
                  <ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
                  <fileset dir="${build.dir}" includes="*.jar,*.war"/>
                  </ear>
                  </target>




                2. You should reorganize your modules removing cyclic dependencies. But still you can use ivy. Or you can self implement an ant task directly calling eclipse's compiler that can handle cyclic dependencies. (if you are using eclipse)








                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 18 '18 at 8:07

























                answered Nov 18 '18 at 7:57









                guleryuzguleryuz

                2,0431715




                2,0431715
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53301361%2fhow-to-create-ear-file-using-ant-build-xml-for-multi-module-application%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bressuire

                    Vorschmack

                    Quarantine