{"id":2940,"date":"2010-08-06T21:55:27","date_gmt":"2010-08-07T03:55:27","guid":{"rendered":"http:\/\/www.designandexecute.com\/designs\/?p=2940"},"modified":"2017-08-13T20:53:19","modified_gmt":"2017-08-14T02:53:19","slug":"java-tools-every-developer-master","status":"publish","type":"post","link":"https:\/\/www.designandexecute.com\/designs\/java-tools-every-developer-master\/","title":{"rendered":"Java Tools That Every Developer Should Master"},"content":{"rendered":"<p>Java is a platform.\u00a0 This language has matured a lot since 1998 when I recall the Java 1.0 launched.\u00a0 This platform is now surrounded by many ecosystems.\u00a0 This kind of power in the untrained hands is like putting a vacuum cleaner in the hands of a 2 year old where they are waving it about but not really cleaning up.\u00a0 If you are considering learning Java to know how to take advantage of these powerful tools then there are a few things that will help you along the way to integrate the ecosystems. Here are my suggestions of things you will need to know and why.<\/p>\n<ol>\n<li><strong>Eclipse IDE<\/strong>: reason it can automatically hot compiling your code and the content assist will make you very productive. <a href=\"https:\/\/www.eclipse.org\/downloads\/?\" target=\"_blank\">The IDE<\/a> is cross platform, open source and plug in based.\u00a0 This allows you to learn one IDE and use on many languages on different operating systems.\u00a0 The hyper linking and hover approach allows you to view, traverse and drill into large code bases. The different perspectives puts the focus based on the task while allowing you to customize your workflow.\u00a0 The plug ins generally comes with a unique perspective.\u00a0 If you are considering spring as your dependency injection framework then you might consider getting the <a href=\"https:\/\/spring.io\/tools\/sts\/all\" target=\"_blank\">STS version<\/a> of eclipse.<\/li>\n<li><strong>GIT<\/strong>: its the latest and best way to do version control of your files and if you are not doing version control you are really jumping out of an aircraft with out a parachute.\u00a0 It is important to use a workflow to really manage teams of developers.\u00a0 It is important to have release, hot fix, integration and feature branches to coordinate parallel efforts.\u00a0 At the very least it will allow you to rollback to working code in the event of a misstep. <a href=\"https:\/\/git-scm.com\/downloads\" target=\"_blank\">Download git here<\/a> if you intend on using the command line. \u00a0Some <a href=\"https:\/\/www.atlassian.com\/git\/tutorials\/learn-git-with-bitbucket-cloud\" target=\"_blank\">online tutorials<\/a> on GIT and a <a href=\"http:\/\/learngitbranching.js.org\/\" target=\"_blank\">great interactive <\/a>tutorial.<\/li>\n<li><strong>Maven<\/strong>: many of your java projects will require you to include JAR files. You can download them and have them on your hard drive and then you can share them across projects.\u00a0 As you get into more complex frameworks like SPRING, there will be transitive dependencies.\u00a0 That means that the JARs are dependent on other JARs.\u00a0 The headache is version control of these JARs since there are compatibility issues if you use just any random combination of JARs.<\/li>\n<\/ol>\n<p>Both GIT and Maven can be integrated using plug ins to be used with Eclipse.\u00a0 These 3 will be the foundation for your Java development tools.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java is a platform.\u00a0 This language has matured a lot since 1998 when I recall the Java 1.0 launched.\u00a0 This platform is now surrounded by many ecosystems.\u00a0 This kind of power in the untrained hands is like putting a vacuum cleaner in the hands of a 2 year old where they are waving it about [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2943,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-2940","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java"],"jetpack_featured_media_url":"https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2008\/08\/Java.jpg","_links":{"self":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts\/2940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/comments?post=2940"}],"version-history":[{"count":5,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts\/2940\/revisions"}],"predecessor-version":[{"id":2983,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts\/2940\/revisions\/2983"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/media\/2943"}],"wp:attachment":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/media?parent=2940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/categories?post=2940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/tags?post=2940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}