{"id":86640,"date":"2019-01-22T10:00:25","date_gmt":"2019-01-22T08:00:25","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=86640"},"modified":"2019-01-21T09:59:05","modified_gmt":"2019-01-21T07:59:05","slug":"using-junit-5-pre-java-8-projects","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html","title":{"rendered":"Using JUnit 5 In Pre-Java 8 Projects"},"content":{"rendered":"<p>This post demonstrates how JUnit 5 can be used in pre-Java 8 projects and explains why it could be a good idea.<\/p>\n<p>JUnit 5 requires at least Java 8 as runtime environment, so you want to update your whole project to Java 8. But sometimes there exists reason why you can\u2019t immediately update your project to Java 8. For example, the version of your application server in production only supports Java 7. But an update isn\u2019t be taken quickly because of some issues in your production code.<\/p>\n<p>Now, the question is how can you use JUnit 5 without update your production code to Java 8?<\/p>\n<p>In Maven (for sure also in Gradle) you can set up the Java version separately for production code and for test code.<\/p>\n<pre class=\"wp-block-preformatted brush:xml\">&lt;build&gt;\n    &lt;plugins&gt;\n        &lt;plugin&gt;\n            &lt;artifactId&gt;maven-compiler-plugin&lt;\/artifactId&gt;\n            &lt;configuration&gt;\n                &lt;source&gt;7&lt;\/source&gt;\n                &lt;target&gt;7&lt;\/target&gt;\n                &lt;testSource&gt;8&lt;\/testSource&gt;\n                &lt;testTarget&gt;8&lt;\/testTarget&gt;\n            &lt;\/configuration&gt;\n        &lt;\/plugin&gt;\n    &lt;\/plugins&gt;\n&lt;\/build&gt;<\/pre>\n<p>Precondition is that you use a Java 8 JDK for your build.<\/p>\n<p>If you try to use Java 8 feature in your Java 7 production code, Maven will fail the build.<\/p>\n<pre class=\"wp-block-preformatted brush:bash\">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project junit5-in-pre-java8-projects: Compilation failure\n[ERROR] \/home\/sparsick\/dev\/workspace\/junit5-example\/junit5-in-pre-java8-projects\/src\/main\/java\/Java7Class.java:[8,58] lambda expressions are not supported in -source 7\n[ERROR]   (use -source 8 or higher to enable lambda expressions)<\/pre>\n<p>Now you can introduce JUnit 5 in your project and start writing test with JUnit 5.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<pre class=\"wp-block-preformatted brush:xml\">&lt;dependency&gt;\n    &lt;groupId&gt;org.junit.jupiter&lt;\/groupId&gt;\n    &lt;artifactId&gt;junit-jupiter-api&lt;\/artifactId&gt;\n    &lt;scope&gt;test&lt;\/scope&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;org.junit.jupiter&lt;\/groupId&gt;\n    &lt;artifactId&gt;junit-jupiter-engine&lt;\/artifactId&gt;\n    &lt;scope&gt;test&lt;\/scope&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;org.junit.jupiter&lt;\/groupId&gt;\n    &lt;artifactId&gt;junit-jupiter-params&lt;\/artifactId&gt;\n    &lt;scope&gt;test&lt;\/scope&gt;\n&lt;\/dependency&gt;\n&lt;!-- junit-vintage-engine is needed for running elder JUnit4 test with JUnit5--&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;org.junit.vintage&lt;\/groupId&gt;\n    &lt;artifactId&gt;junit-vintage-engine&lt;\/artifactId&gt;\n    &lt;scope&gt;test&lt;\/scope&gt;\n&lt;\/dependency&gt;<\/pre>\n<p>Your old JUnit 4 tests need not be migrated, because JUnit 5 has a test engine, that can run JUnit 4 tests with JUnit 5. So use JUnit 5 for new tests and only migrate JUnit 4 tests if you have to touch them anyway.<\/p>\n<p>Although you can\u2019t update your production code to a newer Java version, it has some benefit to update your test code to a newer one.<\/p>\n<p>The biggest benefit is that you can start learning new language feature during your daily work when you write tests. You don\u2019t make the beginner\u2019s mistake in the production code. You have access to new tools that can help improve your tests. For example, in JUnit 5 it\u2019s more comfortable to write parameterized tests than in JUnit 4. In my experience, developer writes rather parameterized test with JUnit 5 than with JUnit 4 in a situation where parameterized test make sense.<\/p>\n<p>The above described technique also works for other Java version. For example, your production code is on Java 11 and you want to use Java 12 feature in your test code. Another use case for this technique could be learning another JVM language like Groovy, Kotlin or Clojure in your daily work. Then use the new language in your test code.<\/p>\n<p>One little pitfall has this approach. IntelliJ IDEA can\u2019t set up the Java version for production and test, separately. Therefore, you have to set the whole project to Java 8. Only the Maven build gives you the feedback if your production code uses the right Java version.<\/p>\n<h3 class=\"wp-block-heading\">Links<\/h3>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/sparsick\/junit5-example\/tree\/master\/junit5-in-pre-java8-projects\" target=\"_blank\" rel=\"noopener\">Maven Project Set Up<\/a><\/li>\n<\/ul>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>Published on Java Code Geeks with permission by Sandra Parsick, partner at our <a href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" target=\"_blank\" rel=\"noopener\">JCG program<\/a>. See the original article here: <a href=\"https:\/\/blog.sandra-parsick.de\/2019\/01\/20\/using-junit-5-in-pre-java-8-projects\/\" target=\"_blank\" rel=\"noopener\">Using JUnit 5 In Pre-Java 8 Projects<\/a><\/p>\n<p>Opinions expressed by Java Code Geeks contributors are their own.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This post demonstrates how JUnit 5 can be used in pre-Java 8 projects and explains why it could be a good idea. JUnit 5 requires at least Java 8 as runtime environment, so you want to update your whole project to Java 8. But sometimes there exists reason why you can\u2019t immediately update your project &hellip;<\/p>\n","protected":false},"author":907,"featured_media":176,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[274,273],"class_list":["post-86640","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-junit","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using JUnit 5 In Pre-Java 8 Projects - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Interested to learn about Pre-Java 8 Projects? Check our article explaining how JUnit 5 can be used in pre-Java 8 projects and why it could be a good idea\" \/>\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\/2019\/01\/using-junit-5-pre-java-8-projects.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using JUnit 5 In Pre-Java 8 Projects - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about Pre-Java 8 Projects? Check our article explaining how JUnit 5 can be used in pre-Java 8 projects and why it could be a good idea\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.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:published_time\" content=\"2019-01-22T08:00:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.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=\"Sandra Parsick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SandraParsick\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sandra Parsick\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html\"},\"author\":{\"name\":\"Sandra Parsick\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/6204b3b10b0efebbb6a23b5f86878395\"},\"headline\":\"Using JUnit 5 In Pre-Java 8 Projects\",\"datePublished\":\"2019-01-22T08:00:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html\"},\"wordCount\":458,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"keywords\":[\"JUnit\",\"Testing\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html\",\"name\":\"Using JUnit 5 In Pre-Java 8 Projects - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"datePublished\":\"2019-01-22T08:00:25+00:00\",\"description\":\"Interested to learn about Pre-Java 8 Projects? Check our article explaining how JUnit 5 can be used in pre-Java 8 projects and why it could be a good idea\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/junit-logo-e1426444701180.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/01\\\/using-junit-5-pre-java-8-projects.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\":\"Using JUnit 5 In Pre-Java 8 Projects\"}]},{\"@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\\\/6204b3b10b0efebbb6a23b5f86878395\",\"name\":\"Sandra Parsick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/69ec4eccbdaf11ca8febd5a68c7117138d57a580966e782cad2bf74988255755?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/69ec4eccbdaf11ca8febd5a68c7117138d57a580966e782cad2bf74988255755?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/69ec4eccbdaf11ca8febd5a68c7117138d57a580966e782cad2bf74988255755?s=96&d=mm&r=g\",\"caption\":\"Sandra Parsick\"},\"description\":\"Sandra is freelance Software Developer. She develops Java enterprise software since 2008. She also interests in the software craftsmanship approach and continuous integration.\",\"sameAs\":[\"http:\\\/\\\/blog.sandra-parsick.de\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/profile\\\/view?id=74296185\",\"https:\\\/\\\/x.com\\\/@SandraParsick\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/sandra-parsick\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using JUnit 5 In Pre-Java 8 Projects - Java Code Geeks","description":"Interested to learn about Pre-Java 8 Projects? Check our article explaining how JUnit 5 can be used in pre-Java 8 projects and why it could be a good idea","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\/2019\/01\/using-junit-5-pre-java-8-projects.html","og_locale":"en_US","og_type":"article","og_title":"Using JUnit 5 In Pre-Java 8 Projects - Java Code Geeks","og_description":"Interested to learn about Pre-Java 8 Projects? Check our article explaining how JUnit 5 can be used in pre-Java 8 projects and why it could be a good idea","og_url":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2019-01-22T08:00:25+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","type":"image\/jpeg"}],"author":"Sandra Parsick","twitter_card":"summary_large_image","twitter_creator":"@SandraParsick","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Sandra Parsick","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html"},"author":{"name":"Sandra Parsick","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/6204b3b10b0efebbb6a23b5f86878395"},"headline":"Using JUnit 5 In Pre-Java 8 Projects","datePublished":"2019-01-22T08:00:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html"},"wordCount":458,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","keywords":["JUnit","Testing"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html","url":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html","name":"Using JUnit 5 In Pre-Java 8 Projects - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","datePublished":"2019-01-22T08:00:25+00:00","description":"Interested to learn about Pre-Java 8 Projects? Check our article explaining how JUnit 5 can be used in pre-Java 8 projects and why it could be a good idea","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/junit-logo-e1426444701180.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2019\/01\/using-junit-5-pre-java-8-projects.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":"Using JUnit 5 In Pre-Java 8 Projects"}]},{"@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\/6204b3b10b0efebbb6a23b5f86878395","name":"Sandra Parsick","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/69ec4eccbdaf11ca8febd5a68c7117138d57a580966e782cad2bf74988255755?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/69ec4eccbdaf11ca8febd5a68c7117138d57a580966e782cad2bf74988255755?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/69ec4eccbdaf11ca8febd5a68c7117138d57a580966e782cad2bf74988255755?s=96&d=mm&r=g","caption":"Sandra Parsick"},"description":"Sandra is freelance Software Developer. She develops Java enterprise software since 2008. She also interests in the software craftsmanship approach and continuous integration.","sameAs":["http:\/\/blog.sandra-parsick.de\/","https:\/\/www.linkedin.com\/profile\/view?id=74296185","https:\/\/x.com\/@SandraParsick"],"url":"https:\/\/www.javacodegeeks.com\/author\/sandra-parsick"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/86640","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\/907"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=86640"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/86640\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/176"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=86640"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=86640"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=86640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}