Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to setup a sophisticated java development infrastructure?

I'm looking for a complete java development infrastructure with an integration of:

  • an IDE like eclipse,
  • a build system like Maven,
  • a version control system like subversion,
  • a continuous integration server like Hudson,
  • a repository manager like Nexus,
  • an automated release plugin like Maven Release Plugin.

Further I'd like to have:

  • a predefined multi component project structure

...and optionally:

  • an issue manager like Jira,
  • an integration with an open source hoster like sourceforge.

Evaluating all these systems could take a long time, making the setup of a running infrastructure a job of a month or longer.

At work I'm ready to setup each system individually, but for my private development at home I'd like to have something like Devware - A development environment virtual appliance (unfortunately I didn't find a download link) where everything is already installed and functional.

So, could you please give me some advice which combinations create a working infrastructure? Or even better where to find a preconfigured development infrastructure?

PS: I'm not committed to any of the named products, so feel free to suggest alternatives if they match better.

like image 717
tangens Avatar asked Oct 09 '09 19:10

tangens


2 Answers

If you're looking to avoid some integration pains, check out SecureCI, which is a free download of various open-source products in an integrated stack.

Blurb from the site:

SecureCI™ provides organizations with an integrated suite of open source tools that assist in the automation of the software build, test, and deploy process. By integrating secure code analysis and web security testing technologies, SecureCI extends continuous integration to incorporate automated security analysis and security testing of applications as well.

The current version bundles these tools:

  • Project Management
    • Trac (0.11.5)
    • Sonar (1.10.1)
  • Security Scanning
    • ratproxy (1.58)
  • Development
    • Subversion (1.4.6)
    • Hudson (1.322)
    • Apache Ant (1.7.1)
    • Apache Maven (2.2.1)
    • Sonatype Nexus (1.3.6)
  • Testing
    • JUnit (4.6)
    • Cobertura (1.9.2)
    • Selenium Remote Control (1.0.1)
  • Code Analysis
    • Checkstyle (5.0)
    • FindBugs (1.3.8)
    • PMD (4.2.5)
    • JDepend (2.9)

As far as IDE integrations are concerned, later versions of Eclipse now come integrated with Mylyn, this provides a task focused API for connecting to various tools.
The Trac integration can be installed with the Connector Install Wizard.

Other Eclipse integrations to use:

  • Subversion integration: Subclipse and the Subclipse Mylyn integration)
  • Hudson plugin
  • Maven integration: M2Eclipse (also has some Mylyn connectors)
  • Code Coverage: ECLEmma (I find the Cobertura plugin doesn't work too well myself)
  • Selenium plugin
  • Checkstyle plugin
  • Findbugs plugin
  • PMD plugin
  • JDepend plugin or CAP
like image 66
Rich Seller Avatar answered Nov 04 '22 15:11

Rich Seller


Or just use IntelliJ from JetBrains.

like image 30
duffymo Avatar answered Nov 04 '22 16:11

duffymo