Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I'm developing a hybrid framework for GUI automation. I'm using TestNg. I'd like to use ANT / MAVEN. What are the factors that we need to take into account before we make the decision? I have read the difference between ANT and MAVEN online. I have a theoretical understanding of both. But practically how do i decide if ANT / Maven fits my project.Let us say that I choose ANT for my project.Is this a correct decision?
Maven can be considered as a successor for Ant. Maven also has the Surefire plugin for TestNG which provides very elegant TestNG test suite execution. Ant is older and while it is still used in a number of projects, it is rapidly losing ground to Maven. I used Ant for my very first TestNG project and since then moved on to Maven.
Dependency management in maven is easier and you can have several different project phases. Maven, IMHO, is easier to understand as well and updating dependencies and creating and importing modules is very easy. You can use either one to good effect for simple projects but if your project size if going to grow, you will want to use Maven.
Maven is newer and the lingua franca. The simplest way to tell is the fact that far more open source Java projects (I don't know about closed source projects) have Maven support natively, and fewer have Ant support (notwithstanding plugins and other applications that make them both-way compatible). You can research this yourself.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
For the period that I have been using spring I have deployed jars using the export runnable jar option for which the apps seemed to run fine. I was informed that I should be deploying maven projects by doing a maven build (clean package) and deploying the jar in the target folder. I have observed differences in the outcome though. With the exported jar, it fails to find the properties file when using :
getClass().getResourceAsStream(
but the maven jar reads the properties file from within the jar. Also this is a kafka consumer application and with the maven jar, I seem to have an unusual errors of kafka consumer and multi threaded errors which does not happen when running in the IDE.
My question is just to try and understand why there would be these kind of differences and what the differences are between the 2 jars?
For Maven, the pom.xml defines where the resources are and what dependencies to load, for the other method (of whatever IDE?), there might be different default settings.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
we all know that there is community supporting maven and since maven has some advanced features so most people recommend as building tool and gradle is in picture too but is using ant today will be considered as old fashioned or it still gives same competition that it used to be?
did maven has achieved more then ant or ant is still alive?
Ant is the grandaddy of the all, starting out as a Java version of "make" (an even older build tool). Along came Maven 1.0 (which we all pretend never existed) to be replaced by Maven 2.0. For a brief time the Java world was split between those who understood the importance of dependency management and those who didn't. Eventually all tools now copy what Maven pioneered and we now have Gradle, a modern build tool built on the shoulders of giants :-)
So cool kids Gradle. Most Java developers are using Maven (frequently bundled and hidden away by their Eclipse IDE) and old school release engineers still have productive careers maintaining corporate applications that use Ant.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I made a web application with maven spring 4 hibernate 4 and primefaces in one web project now i want to make a multi model project : main(packaging pom) presentation(view packaging ear)
business(packaging war) and integration (for jpa and hibernate) that's alll what i know can someone help me how to do it from the scratch because it's my first time and thx
The structure of which you have spoken is quite good and simple, this tree should reflect it
pom.xml (aggregator, packagin pom)
EAR-front-end
WAR-business
JAR-integration
So let's start from creating your own empty structure, then starting with integration of the various parts of the old structure, beginning from the integration layer...in turn integrates also a solid structure of unit tests, I would not exclude the possibility of dividing even the three main entities, the EAR , the WAR and JAR (integration) in sub-modules to increase the modularity of the application and facilitate the integration and maintenance activities.
I hope this can be a good starting point
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I was reading this blog by Kent R.Spillner regarding java build tools. Although I have lightly used Ant and Maven, I didn't have commited to either one seriously which I intend to do. Is the blog post I linked an exagerated one? Most importantly, should I use Maven or Ant for a medium sized project ( approximately 20K LOC).
It really depends.
Maven and Ant are just different approaches: imperative and declarative (see Imperative vs Declarative build systems)
Maven is better for managing dependencies (but Ant is ok with them too, if you use Ant+Ivy) and build artefacts. The main benefit from maven - its lifecycle. You can just add specific actions on correct phase, which seems pretty logical: just launch you integration tests on integration-test phase for example. Also, there are many existing plugins, which can could almost everything. Maven archetype is powerful feature, which allows you to quickly create project.
Ant is better for controlling of build process. Before your very first build you have to write you build.xml. If your build process is very specific, you have to create complicated scripts. For long-term projects support of ant-scripts could become really painful: scripts become too complicated, people, who's written them, could leave project, etc.
Both of them use xml, which could become too big in big long-term projects.
Anyway, you shoud read specific documentation on both. Also, there is ant-maven-plugin, which allow to launch ant-scripts with maven.
P.S. You can take a look on Gradle, which for me could provide more freedom than Maven, but is easier to use than Ant.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I want to automate the Build Process of an existing RCP application with an own target platform.
Now I can't decide between Ant and Maven ore maybe there is a better tool?!
The tool should be easy to set up, and should run JUnit and SWTBot Tests.
Can you help me?
Tycho is a good way to build Eclipse plug-ins / applications :
Tycho is focused on a Maven-centric, manifest-first approach to building Eclipse plug-ins, features, update sites, RCP applications and OSGi bundles. Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven
You can try TeamCity or Jenkins or Hudson.
This tools are continuous integration (CI) servers.
With help of TeamCity, for example, you can create project which run Ant targets or build application with Maven or you can use configuration with both Maven and Ant.
This article is how to create project in TeamCity. This link is about of TeamCity's main features.
The TeamCity supports JUnit, you can read info about others supported tools and platfoms.
The another tool is Luntbuild.
here, a tycho tutorial
for some reason, i couldn't add this as a comment. weird
ps: I'm using tycho with hudson, and this is GREAT!