How to create EAR file using ant build.xml for multi module application?
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
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?
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
add a comment |
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
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?
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
add a comment |
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
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?
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
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
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?
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
ant ear build.xml building
asked Nov 14 '18 at 13:28
Akshay KrishnaAkshay Krishna
3117
3117
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
you should have separate
build.xml
s for all of your modules.build.xml
of your ear module should call all other module'sbuild
files and finally export the ear withear
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>
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)
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
you should have separate
build.xml
s for all of your modules.build.xml
of your ear module should call all other module'sbuild
files and finally export the ear withear
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>
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)
add a comment |
you should have separate
build.xml
s for all of your modules.build.xml
of your ear module should call all other module'sbuild
files and finally export the ear withear
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>
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)
add a comment |
you should have separate
build.xml
s for all of your modules.build.xml
of your ear module should call all other module'sbuild
files and finally export the ear withear
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>
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)
you should have separate
build.xml
s for all of your modules.build.xml
of your ear module should call all other module'sbuild
files and finally export the ear withear
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>
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)
edited Nov 18 '18 at 8:07
answered Nov 18 '18 at 7:57
guleryuzguleryuz
2,0431715
2,0431715
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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