Re: How to develop without an IDE?
On 04/22/2012 09:36 AM, Arne Vajh??j wrote:
On 4/22/2012 11:15 AM, Rui Maciel wrote:
Is it possible to set up a Java project so that it can be built without
relying on an IDE? If it is, where can I find any information on how to set
up this sort of project?
Bonus points if it's possible to pull this off by writing a single makefile.
Very few rely on their IDE to build for serious projects.
They use tools like Ant or Maven to build with.
You can also write the code without an IDE, but why not utilize
the extra support you get from a Java aware IDE.
OP: Be careful that your problem statement doesn't limit your solution space.
Arne knew that makefiles are not literally the best build mechanism for Java,
so unlike those others who specifically dicussed make with you, he gave you
the idiomatically Java equivalent.
I'm not aware of any prevalence of make in the Java build-and-deployment world.
Ant and Maven are the two most standard mechanisms. Real-life Java
build-and-deployment systems are edifices of scripts (shell, Python, Ruby,
....), continuous-integration (CI) platforms, Ant and/or Maven,
intelligently-crafted logging (of the builds, not just the program runs), and
often much more.
As a solo practitioner you can readily put together a decent ecosystem with
open-source tools, e.g., for Java EE:
git version-control repository
Jenkins continuous-integration framework
Ant build system
Junit unit test framework
EasyMock mock objects for testing code
FindBugs find bugs in source code
Glassfish application server
Tomcat, Jetty simpler app server
JSPs, no EJBs, JMX, etc., unless plugins
Apache Web Server HTTP server - all kinds of proxy magic, etc.
EclipseLink, OpenJPA JPA - Java Persistence API)
Your favorite editor(s) and IDE(s)
You certainly do not need an IDE for any of that, and quite frankly, none of
your build and test stuff should use any IDE files directly, nor should most
editor- or IDE-specific files be in the trunk of your code repository.
With such a suite of tools, I still would add NetBeans or Eclipse (among the
free options) or Aptana (based on Eclipse) as an IDE. While an IDE is not
essential to system development, it is very helpful.
They not only help with code development, they make great dashboards to manage
your libraries, databases, servers, logs, test frameworks, and other tools,
and the interactions amongst them. We programmers tend to monomaniacally focus
only on how IDEs help code production. They are also very handy, particularly
for the solo stages (developer workstation or individual consultant's
production box), to manage the myriad operations matters.
Honi soit qui mal y pense.