• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

IDE for Java developing in a group with repository/remote version control and automated build tool

 
Rancher
Posts: 144
9
  • Number of slices to send:
    Optional 'thank-you' note:
So, first up: This wlll most likely be an opinion based topic - so I apologize upfront to anyone not up for such type of discussion.

// EDIT

As it seems the question isn't clear: We are looking for some informations about existing IDEs that offer support for a remote repository (like github - but any other is fine too) and either support or is able to generate scripts for using build-tools like ant, maven, gradle, etc ...

// original

Why I opened this thread: As I only used an editor with syntax highlighting and a terminal to write small codes a friend of mine came up with the idea to learn Java and start a "bigger" project with a remote repository / version control and a build tool and all inside an IDE. So, I took this as a "why the heck not" opportunity to do this with him. I'm only semi-good with the Java language itself but not with IDEs or repos or such I struggle about wich of all those to use? As all I came in contact with was an apache project using maven and hosted on github I thought of them - but as for an IDE it only comes down to personal preference as one seems as good as another.

What you're using? Can you give us some inside?
Thanks in advance ...

Kris
 
Saloon Keeper
Posts: 27871
196
  • Number of slices to send:
    Optional 'thank-you' note:
I'm not sure what you mean. If you're looking for an existing IDE, most of the well-known ones do all that.

If you're thinking about developing your own, that's a non-trivial project. The existing IDEs all are accumulations of years of work and many people.

One thing that makes IDE creation easier, though, is modularization. The Eclipse IDE (for example) is actually an OSGi framework, and all of the various IDE functions (editing, building, version control, and so forth) are OSGi plugins. In fact, "pure" Eclipse needn't be an IDE at all, Eclipse is intended to be useable as a general business framework, if desired, and there are multiple spins of Eclipse that come with domain-specific capabilities provided by pre-installed plugins. The vanilla Java and JEE spins are probably the most famous, but there are spins for other domains such as C/C++ and so forth. And since the plugins are not mutually exclusive, what I generally end up with is an Eclipse customization capable of work with Java, Python, C/C++, shell scripts, database and LDAP interfacing and more. But someone had to write and test each of those plugins, and, of course, someone has to maintain them.
 
Kristina Hansen
Rancher
Posts: 144
9
  • Number of slices to send:
    Optional 'thank-you' note:
Hello Tim,

as it seems I didn't made myself clear I edited the initial post, but sure I answer your question:

I guess it's way out of reach of my skills to develop our own IDE, so the qeustion is about some advice from you (the coderanch users) about wich of the IDEs, remote repositories and build-tools you use - and maybe why. We are open to try out different solutions as from I read it mostly only comes down to personal preference as most modern IDEs all fit our needs and have either built-in support or can be extended by additional plugin modules.
So it seems the main question boils down to: Have anybody some advice about wich combination of IDE, repo and build tool to use - and why.

In addition it would be appreciated if someone could also point us to a small explanation on how to set up such a project - as he is a complete beginner and I only ever used an editor and a terminal to write small stuff with only a few clases.

Kris
 
Kristina Hansen
Rancher
Posts: 144
9
  • Number of slices to send:
    Optional 'thank-you' note:
Hmm, no futher thoughts about our question?
 
Bartender
Posts: 2911
150
  • Number of slices to send:
    Optional 'thank-you' note:
I think your thread title is a bit confusing, It can be simply "Which IDE do you use for java ?"

Personally, I use Eclipse. Many of my colleagues have switched to IntelliJ and they report that it's quite fast. Some of my older colleagues from the past have used Netbeans.


 
Saloon Keeper
Posts: 15625
366
  • Number of slices to send:
    Optional 'thank-you' note:
I'm a big fan of NetBeans, Maven and Git. I store my hobby projects on GitHub.

While the choice of IDE and repository is mostly a matter of taste, I strongly recommend using Maven as the build tool for Java projects, and Git as the version control system.

Why NetBeans? NetBeans has seamless Maven integration to the point where you usually don't even need NetBeans-specific project files, as opposed to Eclipse with its .project files and IntelliJ with its .idea folder. The pom.xml is usually enough to load a project correctly. I've heard really good things about IntelliJ though, and I simply haven't gotten 'round to trying it out yet. I absolutely abhor Eclipse. I can't really put my finger on a specific reason, but every time I have to work with it I just get frustrated.

Why Maven? Ant is simply outdated and doesn't handle your dependencies for you well. Gradle may be a great alternative to Maven, but it's younger and I imagine that there aren't as many online resources available for it as there are for the more mature Maven. Maven is supported out of the box by most IDEs. Support for it used to be terrible on Eclipse, but maybe that's improved in the last couple of years.

Git is just objectively better then any other version control system out there. It's well designed, lightning fast, and I can't think of modern projects that don't use Git for versioning. It's supported out of the box by any of the major IDEs.

How to create a project? Well, what I usually do is:

  • Use the NetBeans project wizard to create the appropriate Maven project (Usually Java Application, Web Application, Enterprise Application or POM Project).
  • Format the generated pom.xml and add some details about the project.
  • Open the project directory in my command line interface and run 'git init'.
  • Add a file named .gitignore to the project folder containing only the line: /target/
  • Run 'git add .' and then run 'git status' to verify that only my pom.xml has been added to the Git index.
  • Run 'git commit -m "Create <projectname> project"'.

  • Then you start adding source files and making commits and pushing them to your remote repository. I strongly advise your friend to use the command line interface to run Git operations until he becomes familiar with them. Then he may switch to using Git operations provided by the IDE.

    When the project gets large enough and multiple developers are working on it, consider adding continuous integration to the remote repository so that the code automatically gets built and tested when a developer pushes changes.
    reply
      Bookmark Topic Watch Topic
    • New Topic
    vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
    http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |