{"id":41745,"date":"2015-07-20T10:00:07","date_gmt":"2015-07-20T07:00:07","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=41745"},"modified":"2015-07-19T18:30:24","modified_gmt":"2015-07-19T15:30:24","slug":"truly-unleashing-the-power-of-maven-and-java-ee","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html","title":{"rendered":"Truly Unleashing the Power of Maven and Java EE"},"content":{"rendered":"<p>Ambition and vision can be the undoing of great solutions, if they are too complex to use. While <a href=\"https:\/\/maven.apache.org\/\">Maven<\/a> and <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javaee\/overview\/index.html\">Java EE<\/a> are technologies that are well established throughout the Java industry, it can be extremely tricky to get\u00a0started with them and to architect\u00a0projects using all the techniques and patterns that\u00a0their authors intended you to use.<\/p>\n<p>How often do applications, midway in the development process, not need to be set up afresh again because of a flaw that crept into their\u00a0architecture right at the beginning? How much time is spent in drawing out and mapping the relationships between artifacts in an application, right at the beginning, only for all those plans and designs to gradually be forgotten and an unresolvable mess of spaghetti code to gradually arise instead?<\/p>\n<p>Here is where the right tools are essential and, when looking at all the available tools that relate to Maven and Java EE, it\u00a0can be seen that <a href=\"https:\/\/netbeans.org\/\">NetBeans IDE<\/a>, in particular, has been created to be both &#8220;Maven centric&#8221; and &#8220;Java EE centric&#8221;. What that means is that NetBeans IDE does not simply &#8220;support Maven&#8221; and &#8220;support Java EE&#8221;. No, NetBeans IDE has been developed over many years around the ideas and architectures that the authors of Maven and Java EE have always had in mind for you to use.<\/p>\n<h2>Maven<\/h2>\n<p>The key to unlocking Maven is to realize that NetBeans IDE natively (i.e., &#8220;out of the box&#8221;)\u00a0understands the POM file that defines the project structure common to all\u00a0Maven projects. What makes Maven unique is that it standardizes project structures, enabling NetBeans IDE to natively provide standardized tools to support those project structures.<\/p>\n<p>Imagine a tool were to natively understand a Maven POM file.\u00a0What assumptions should you be able to make of such a tool?<\/p>\n<p>You should be able to assume one or more of the following:<\/p>\n<ol>\n<li>No import process should be needed to convert a Maven project to some kind of internal structure inherent to the tool in question.<\/li>\n<li>An &#8220;Open Project&#8221; command applicable to any other kind of application should work in exactly the same way for Maven, i.e., you&#8217;d assume you&#8217;d be able to browse to a folder containing the POM and then the tool should simply be able to open the Maven project and visualize it in some way in the tool. The visualization of the Maven project should be helpful and logical and, for example, enable you to see all the entry points easily.<\/li>\n<li>The tool should be able to integrate its project-level commands with the goals defined in the POM, so that when you invoke a &#8220;Build Project&#8221; command, that you&#8217;d be able to map that command to Maven goals specific to the project, such as &#8220;mvn install&#8221;, for example.<\/li>\n<li>Maven commands run in the tool should run and behave in the same way as on the command line, while producing the same kind of output as provided by a continuous build server, such as Jenkins.<\/li>\n<li>The Maven dependencies should be visualized in some way, such that their interrelated connections can be viewed in some kind of reconfigurable and customizable set of diagrams.<\/li>\n<\/ol>\n<p>Each of the assumptions above are realized in NetBeans IDE.<\/p>\n<p>No importation process of any kind is needed to get a Maven project into NetBeans IDE. No plugin needs to be installed. Nothing needs to be configured. Simply go to File | Open Project (Ctrl-Shift-O) and browse to any folder containing a POM, such as the open source\u00a0multi-module <a href=\"http:\/\/www.jannocessor.org\/\">JAnnocessor framework<\/a>. As you can see here, the IDE recognizes the project, while you&#8217;ve had to do nothing at all to &#8220;convince&#8221; the IDE that the project should somehow be openable, i.e., the IDE recognizes the project automatically, since the folder you&#8217;ve browsed to has a POM file. Click &#8220;Open Project&#8221; below and the IDE opens and visualizes the project in the Projects window.<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-111.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41868\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-111.png\" alt=\"unlock-11\" width=\"623\" height=\"454\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-111.png 623w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-111-300x219.png 300w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><\/a><div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Similarly, you can use the IDE&#8217;s Git tools, which are also baked into the IDE, no plugins or configuration needed:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-7.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41861\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-7.png\" alt=\"unlock-7\" width=\"311\" height=\"243\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-7.png 311w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-7-300x234.png 300w\" sizes=\"(max-width: 311px) 100vw, 311px\" \/><\/a><\/p>\n<p>For example, simply point to Arquillian lead Aslak Knutsen&#8217;s new <a href=\"https:\/\/github.com\/aslakknutsen\/arquillian-example-helloworld.git\">Simple Arquillian HelloWorld Example project<\/a>, as shown below&#8230;<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-8.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41862\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-8.png\" alt=\"unlock-8\" width=\"746\" height=\"424\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-8.png 746w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-8-300x171.png 300w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><\/a><\/p>\n<p>&#8230;and, at the end of the Git process, you&#8217;ll automatically have the Maven project open in the IDE, without having needed to do anything at all, since the IDE understands the POM file and organizes the Maven project coherently in the IDE based on the parsing of the POM file:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-9.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41863\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-9.png\" alt=\"unlock-9\" width=\"272\" height=\"326\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-9.png 272w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-9-250x300.png 250w\" sizes=\"(max-width: 272px) 100vw, 272px\" \/><\/a><\/p>\n<p>If the Maven project incorporates Java EE RESTful Web Services, the IDE visualizes the services as entry points into the application, as shown below:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-10.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41864\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-10.png\" alt=\"unlock-10\" width=\"457\" height=\"395\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-10.png 457w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-10-300x259.png 300w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/a><\/p>\n<p>As with other IDEs and tools, the IDE lets you run project-level commands, such as &#8220;Build&#8221; and &#8220;Run&#8221;, as shown below&#8230;<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-6.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41858\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-6.png\" alt=\"unlock-6\" width=\"360\" height=\"459\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-6.png 360w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-6-235x300.png 235w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/a><\/p>\n<p>&#8230;however, what\u00a0<em>happens<\/em> when those commands are invoked is completely up to you, i.e., use the Project Properties dialog of the Maven project to map Maven goals to project commands, as shown below:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-5.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41857\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-5.png\" alt=\"unlock-5\" width=\"785\" height=\"587\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-5.png 785w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-5-300x224.png 300w\" sizes=\"(max-width: 785px) 100vw, 785px\" \/><\/a><\/p>\n<p>A final point is that the dependencies in the POM are visualized and their relationships rendered in a customizable diagram, as shown here:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-4.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41856\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-4.png\" alt=\"unlock-4\" width=\"541\" height=\"554\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-4.png 541w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-4-293x300.png 293w\" sizes=\"(max-width: 541px) 100vw, 541px\" \/><\/a><\/p>\n<p>Moreover, as shown above by the fact that there&#8217;s an &#8220;Effective&#8221; tab, you can see where each entry in a multi-module project&#8217;s POM file comes from, as can be seen here, too:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-12.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41871\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-12.png\" alt=\"unlock-12\" width=\"610\" height=\"521\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-12.png 610w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-12-300x256.png 300w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>Now that we have explored the deep integration of Maven with the IDE, let&#8217;s turn to Java EE, which is, of course, often used in combination with Maven.<\/p>\n<h2>Java EE<\/h2>\n<p>The key to unlocking Java EE is to realize that the engineers who lead the Java EE specifications work for the same organization as the engineers who develop NetBeans IDE. Originally, the main driving force behind the Java EE platform was Sun Microsystems, while that has, of course, become Oracle, over the past few years. All along, NetBeans IDE is the development tool that has been positioned, by Sun Microsystems\u00a0as well as Oracle, as the official IDE for the Java platform.<\/p>\n<p>Imagine a tool were to be developed by engineers at the same organization as where the Java EE platform itself is driven and developed. What assumptions should you be able to make of such a tool?<\/p>\n<p>You should be able to assume one or more of the following:<\/p>\n<ol>\n<li>When new specifications of the Java EE platform are released, a new version of the tool should be released, too. Generally, the current release of the tool should be synchronized with the current release of the Java EE platform.<\/li>\n<li>The official documentation and tutorials of the Java EE platform should, from beginning to end, use the tool as the entry point to understanding the Java EE platform.<\/li>\n<li>The tool should provide, out of the box, a lot more than a simple &#8220;hello world&#8221; example for getting started with the Java EE platform. More specifically, the tool should provide a very wide range of samples that help to understand far more than the simple basic components of the Java EE platform, in fact, the tool should provide, out of the box, complete scenarios that encapsulate best practices and enable newbies to the Java EE platform to be confident in building their applications based on the recommendations made available by the built-in examples.<\/li>\n<li>The key components of the Java EE platform should be easy to set up in the tool. The tool should be the central mechanism for getting to grips with the Java EE platform and should be structured in such a way that each new release of the Java EE platform should be easy to understand via templates, code generators, and keyboard shortcuts that the tool should make available specifically for the Java EE platform.<\/li>\n<li>Key members of the community around the Java EE platform should recognize and promote the tool as being the ideal way to come to grips with the Java EE platform.<\/li>\n<\/ol>\n<p>The assumptions above are all, without exception, realized\u00a0in\u00a0NetBeans IDE. The IDE is always the first to provide tools and a variety of related features applicable to the latest release of the Java EE platform.<\/p>\n<p>At the same time, out of the box, the\u00a0IDE comes with a wide range of simple as well as complex examples relevant to understanding each of the key components that make up the Java EE platform. Go to File | New Project (Ctrl-Shift-N) and you should see the immense range of Java EE examples for yourself, available and working out of the box, with the aim to help you get up and running with the key components of the Java EE platform:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-1.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41849\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-1.png\" alt=\"unlock-1\" width=\"533\" height=\"523\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-1.png 533w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-1-300x294.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-1-70x70.png 70w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><\/a><\/p>\n<p>Getting started with the Java EE platform is helped considerably via comprehensive templates, which generate large segments of a Java EE application, such as all the JPA entity classes from a database, or all JAX-RS RESTful Web Services from JPA entity classes or a database, as shown here:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-2.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41852\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-2.png\" alt=\"unlock-2\" width=\"694\" height=\"514\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-2.png 694w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-2-300x222.png 300w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/a><\/p>\n<p>Related to the above, the official Java EE tutorial uses NetBeans IDE throughout from beginning to end as the tool most well suited for creating applications that comply with the specifications conforming to the Java EE platform:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-3.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-41854\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-3.png\" alt=\"unlock-3\" width=\"502\" height=\"535\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-3.png 502w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/07\/unlock-3-281x300.png 281w\" sizes=\"(max-width: 502px) 100vw, 502px\" \/><\/a><\/p>\n<ul>\n<li>The location of the tutorial:\u00a0<a href=\"http:\/\/docs.oracle.com\/javaee\/7\/tutorial\/\">http:\/\/docs.oracle.com\/javaee\/7\/tutorial\/<\/a><\/li>\n<\/ul>\n<p>Throughout the Java EE community, you&#8217;ll find leading enthusiasts talking about NetBeans IDE as the simplest tool for learning about Java EE. In particular, probably the most well known Java EE advocate, Adam Bien\u2014who is affiliated to no one other than himself\u2014continuously uses NetBeans IDE as the tool in which he does all his demos, as well as his own enterprise work, as can be seen <a href=\"https:\/\/www.youtube.com\/user\/bienadam\">on his YouTube channel<\/a>, as well as in all the conferences in which he speaks.<\/p>\n<h2>Conclusion<\/h2>\n<p>The key argument made in this article is\u00a0<strong><span style=\"text-decoration: underline;\"><em>not<\/em><\/span><\/strong>\u00a0that NetBeans IDE has a variety of features\u00a0that integrate well with Maven and the Java EE platform.<\/p>\n<p>Instead, and in sharp contrast to that perspective, the key argument made in this article\u00a0is that\u00a0NetBeans IDE is &#8220;Maven centric&#8221; and &#8220;Java EE centric&#8221;. From the above, the meaning of these terms should be clear\u2014both Maven and Java EE are baked into the very essence of what NetBeans IDE <em>is<\/em>, as its\u00a0heartbeat, and as its <em>raison d&#8217;\u00eatre<\/em>.<\/p>\n<p>Should you be interested in truly unleashing the power of Maven or Java EE, and especially both of these together, you should seriously evaluate\u00a0NetBeans IDE as one of your key weapons of choice\u2014especially since it is, of course, 100% free and open source.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well established throughout the Java industry, it can be extremely tricky to get\u00a0started with them and to architect\u00a0projects using all the techniques and patterns that\u00a0their authors intended you to &hellip;<\/p>\n","protected":false},"author":937,"featured_media":73,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[68],"class_list":["post-41745","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-maven"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Truly Unleashing the Power of Maven and Java EE - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Truly Unleashing the Power of Maven and Java EE - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/geertjanw\" \/>\n<meta property=\"article:published_time\" content=\"2015-07-20T07:00:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Geertjan Wielenga\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geertjanw\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geertjan Wielenga\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html\"},\"author\":{\"name\":\"Geertjan Wielenga\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/7768288665b3ad3c0afcb54987de7c10\"},\"headline\":\"Truly Unleashing the Power of Maven and Java EE\",\"datePublished\":\"2015-07-20T07:00:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html\"},\"wordCount\":1749,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"keywords\":[\"Apache Maven\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html\",\"name\":\"Truly Unleashing the Power of Maven and Java EE - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"datePublished\":\"2015-07-20T07:00:07+00:00\",\"description\":\"Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2015\\\/07\\\/truly-unleashing-the-power-of-maven-and-java-ee.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Truly Unleashing the Power of Maven and Java EE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/7768288665b3ad3c0afcb54987de7c10\",\"name\":\"Geertjan Wielenga\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e83238166ef839cd17d585a18d9637be21efcff5451b33276f41346a2d2594d8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e83238166ef839cd17d585a18d9637be21efcff5451b33276f41346a2d2594d8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e83238166ef839cd17d585a18d9637be21efcff5451b33276f41346a2d2594d8?s=96&d=mm&r=g\",\"caption\":\"Geertjan Wielenga\"},\"description\":\"Geertjan is involved with a variety of open source projects, in particular, with NetBeans IDE, the official IDE for the Java platform.\",\"sameAs\":[\"https:\\\/\\\/blogs.oracle.com\\\/geertjan\\\/\",\"https:\\\/\\\/www.facebook.com\\\/geertjanw\",\"https:\\\/\\\/x.com\\\/geertjanw\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/geertjan-wielenga\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Truly Unleashing the Power of Maven and Java EE - Java Code Geeks","description":"Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html","og_locale":"en_US","og_type":"article","og_title":"Truly Unleashing the Power of Maven and Java EE - Java Code Geeks","og_description":"Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well","og_url":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_author":"https:\/\/www.facebook.com\/geertjanw","article_published_time":"2015-07-20T07:00:07+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","type":"image\/jpeg"}],"author":"Geertjan Wielenga","twitter_card":"summary_large_image","twitter_creator":"@geertjanw","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Geertjan Wielenga","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html"},"author":{"name":"Geertjan Wielenga","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/7768288665b3ad3c0afcb54987de7c10"},"headline":"Truly Unleashing the Power of Maven and Java EE","datePublished":"2015-07-20T07:00:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html"},"wordCount":1749,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","keywords":["Apache Maven"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html","url":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html","name":"Truly Unleashing the Power of Maven and Java EE - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","datePublished":"2015-07-20T07:00:07+00:00","description":"Ambition and vision can be the undoing of great solutions, if they are too complex to use. While Maven and Java EE are technologies that are well","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2015\/07\/truly-unleashing-the-power-of-maven-and-java-ee.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Truly Unleashing the Power of Maven and Java EE"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/7768288665b3ad3c0afcb54987de7c10","name":"Geertjan Wielenga","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e83238166ef839cd17d585a18d9637be21efcff5451b33276f41346a2d2594d8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e83238166ef839cd17d585a18d9637be21efcff5451b33276f41346a2d2594d8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e83238166ef839cd17d585a18d9637be21efcff5451b33276f41346a2d2594d8?s=96&d=mm&r=g","caption":"Geertjan Wielenga"},"description":"Geertjan is involved with a variety of open source projects, in particular, with NetBeans IDE, the official IDE for the Java platform.","sameAs":["https:\/\/blogs.oracle.com\/geertjan\/","https:\/\/www.facebook.com\/geertjanw","https:\/\/x.com\/geertjanw"],"url":"https:\/\/www.javacodegeeks.com\/author\/geertjan-wielenga"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/41745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/937"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=41745"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/41745\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/73"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=41745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=41745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=41745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}