{"id":27440,"date":"2015-10-08T17:30:29","date_gmt":"2015-10-08T12:00:29","guid":{"rendered":"https:\/\/2thenew.today\/blog\/?p=27440"},"modified":"2015-10-09T11:24:32","modified_gmt":"2015-10-09T05:54:32","slug":"running-grails-application-on-jetty","status":"publish","type":"post","link":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/","title":{"rendered":"Running GRAILS application on JETTY"},"content":{"rendered":"<p>Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are:<\/p>\n<ul>\n<li>Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly<\/li>\n<li>Smaller Memory Footprint: It also takes up a very small amount of the sever&#8217;s available memory so there is more of the memory resource left for the application, threads, caches, garbage collections etc.<\/li>\n<li>Throughput: Since it has multi-HTTP connections and also has a focus on features such as SPDY and in future, HTTP 2.0, jetty can handle thousands of requests simultaneously.<\/li>\n<li>Supports custom components: Jetty can support custom components for the desired behavior as Google did by using their own custom HTTP connector and session management extensions.<\/li>\n<\/ul>\n<p>We will follow the following steps to run a GRAILS war on JETTY on an Ubuntu 15.04 system.<\/p>\n<ol>\n<li>Download the tar from <a href=\"http:\/\/download.eclipse.org\/jetty\/8.1.17.v20150415\/dist\/jetty-distribution-8.1.17.v20150415.tar.gz\">here<\/a>.<\/li>\n<li>For the sake of convenience, create a symlink as:\n<p>[js] ln -s jetty-distribution-8.1.17.v20150415.tar.gz jetty [\/js]<\/p>\n<\/li>\n<li>We need to set some variables beforehand as follows:\n<p>[js]echo &quot;export JAVA_HOME=\/usr\/lib\/jvm\/java-7-oracle<br \/>\nJETTY_HOME=\/home\/admin\/jetty\/<br \/>\nJETTY_PORT=9000<br \/>\nJETTY_HOST=0.0.0.0<br \/>\nexport TMPDIR=~\/tmp<br \/>\nexport LC_ALL=en_US.UTF-8<br \/>\nexport LANG=en_US.UTF-8&quot; &gt; ~\/.userSettings[\/js]<\/p>\n<\/li>\n<li>You can set your own JAVA_HOME variable. We will be running the application on port 9000.\n<p>[js]echo &quot;source ~\/.userSettings&quot; &gt;&gt; ~\/.bashrc[\/js]<\/p>\n<\/li>\n<li>Source your .bashrc file.<\/li>\n<li>Create a directory tmp in the user&#8217;s home directory.<br \/>\nJetty extracts some data from war files and to print the stacktrace.log file.<\/li>\n<li>To define where the war file is extracted , edit the jetty-webapps.xml file:\n<p>[js]vim ~\/jetty\/etc\/jetty-webapps.xml[\/js]<\/p>\n<\/li>\n<li>Add the following line before the closing of the &#8220;New&#8221; tag:\n<p>[js] &lt;Set name=&quot;tempDir&quot;&gt;&lt;New class=&quot;java.io.File&quot;&gt;&lt;Arg&gt;path to webapps directory\/&lt;\/Arg&gt;&lt;\/New&gt;&lt;\/Set&gt;<br \/>\nex: &lt;Set name=&quot;tempDir&quot;&gt;&lt;New class=&quot;java.io.File&quot;&gt;&lt;Arg&gt;\/home\/admin\/jetty\/webapps\/&lt;\/Arg&gt;&lt;\/New&gt;&lt;\/Set&gt;<br \/>\n[\/js]<\/p>\n<\/li>\n<li>Save and exit the file.<\/li>\n<li>To define a single log file for jetty: Edit the jetty-logging.xml file as:\n<p>[js]vim ~\/jetty\/etc\/jetty-logging.xml[\/js]<\/p>\n<p>Replace<\/p>\n<p>[js]&lt;Arg&gt;&lt;Property name=&quot;jetty.logs&quot; default=&quot;.\/logs&quot;\/&gt;\/yyyy_mm_dd.stderrout.log&lt;\/Arg&gt;[\/js]<\/p>\n<p>with<\/p>\n<p>[js]&lt;Arg&gt;&lt;Property name=&quot;jetty.logs&quot; default=&quot;.\/logs&quot;\/&gt;\/jetty.log&lt;\/Arg&gt;<br \/>\n[\/js]<\/p>\n<\/li>\n<li>You would be able to see jetty logs under ~\/jetty\/logs\/jetty.log when you start the jetty container.<\/li>\n<li>Setting the JAVA_OPTIONS:<br \/>\nEdit the jetty.sh file:<\/p>\n<p>[js]vim ~\/jetty\/bin\/jetty.sh[\/js]<\/p>\n<p>We can also set here other JAVA options such as HeapSize, permsize, adding a newrelic jar etc. Since many grails applications have a build module associated, we will set the JAVA_OPTIONS by adding the following line as per the desired configuration.<\/p>\n<p>[js]JAVA_OPTIONS+=(&quot;-DbuildModule=admin -XX:MaxPermSize=1024m -Xms512m -Xmx2048m&quot;)[\/js]<\/p>\n<p>Save and exit the file.<\/li>\n<li>Jetty, by default, runs on port 8080. However, it can be configured to run the application on other ports as well, as in our case we are running the application on port 9000.<br \/>\nEdit the jetty.xml file:<\/p>\n<p>[js]vim ~\/jetty\/etc\/jetty.xml[\/js]<\/p>\n<p>At the line:<\/p>\n<p>[js] &lt;Set name=&quot;port&quot;&gt;&lt;Property name=&quot;jetty.port&quot; default=&quot;8080&quot;\/&gt;&lt;\/Set&gt;[\/js]<\/p>\n<p>Replace 8080 with the desired port (in our case it will be 9000).<\/li>\n<li>If the application is configured to pick up some external configurations, the config files can be copied into the location:\n<p>[js]~\/jetty\/resources\/[\/js]<\/p>\n<\/li>\n<li>Copy the war file as ROOT.war at the location:\n<p>[js]~\/jetty\/webapps\/[\/js]<\/p>\n<\/li>\n<li>Execute the following to start the jetty container:\n<p>[js]bash ~\/jetty\/bin\/jetty.sh start[\/js]<\/p>\n<\/li>\n<li>Looking at the log file we can see the application coming up.\n<p>[js]tail -f ~\/jetty\/logs\/jetty.log[\/js]<\/p>\n<\/li>\n<li>Once the application is up, in the browser hit: {SERVER_IP}:9000.<\/li>\n<li>Your Application is now LIVE!<\/li>\n<\/ol>\n<p>A big thanks to Mr. Jayant Puri, Mr. Rishabh Jain and Mr. Tejprakash Sharma for the extended guidance and support.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever&#8217;s available memory so [&hellip;]<\/p>\n","protected":false},"author":178,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":7,"footnotes":""},"categories":[7,1],"tags":[4840,2543,2540,2541,2544,2542],"class_list":["post-27440","post","type-post","status-publish","format-standard","hentry","category-grails","category-technology","tag-grails","tag-grails-on-jetty","tag-jetty","tag-jetty-on-ubuntu","tag-setup-jetty","tag-ubuntu-15-04"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever&#039;s available memory so\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Prakashul\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Running GRAILS application on JETTY | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever&#039;s available memory so\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Running GRAILS application on JETTY | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever&#039;s available memory so\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#article\",\"name\":\"Running GRAILS application on JETTY | TO THE NEW Blog\",\"headline\":\"Running GRAILS application on JETTY\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/prakashul\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2015-10-08T17:30:29+05:30\",\"dateModified\":\"2015-10-09T11:24:32+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#webpage\"},\"articleSection\":\"Grails, Technology, Grails, grails on jetty, jetty, jetty on ubuntu, setup jetty, ubuntu 15.04\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#listItem\",\"name\":\"Running GRAILS application on JETTY\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#listItem\",\"position\":3,\"name\":\"Running GRAILS application on JETTY\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/prakashul\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/prakashul\\\/\",\"name\":\"Prakashul\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/c96b6a37-578a-4c32-bf49-82aa4b4d37f6_prakashul@tothenew.com.jpg\",\"width\":96,\"height\":96,\"caption\":\"Prakashul\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/\",\"name\":\"Running GRAILS application on JETTY | TO THE NEW Blog\",\"description\":\"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever's available memory so\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/running-grails-application-on-jetty\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/prakashul\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/prakashul\\\/#author\"},\"datePublished\":\"2015-10-08T17:30:29+05:30\",\"dateModified\":\"2015-10-09T11:24:32+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Running GRAILS application on JETTY | TO THE NEW Blog","description":"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever's available memory so","canonical_url":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#article","name":"Running GRAILS application on JETTY | TO THE NEW Blog","headline":"Running GRAILS application on JETTY","author":{"@id":"https:\/\/2thenew.today\/blog\/author\/prakashul\/#author"},"publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"},"datePublished":"2015-10-08T17:30:29+05:30","dateModified":"2015-10-09T11:24:32+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#webpage"},"articleSection":"Grails, Technology, Grails, grails on jetty, jetty, jetty on ubuntu, setup jetty, ubuntu 15.04"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.today\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/2thenew.today\/blog\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#listItem","name":"Running GRAILS application on JETTY"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#listItem","position":3,"name":"Running GRAILS application on JETTY","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.today\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.today\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.today\/blog\/author\/prakashul\/#author","url":"https:\/\/2thenew.today\/blog\/author\/prakashul\/","name":"Prakashul","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/c96b6a37-578a-4c32-bf49-82aa4b4d37f6_prakashul@tothenew.com.jpg","width":96,"height":96,"caption":"Prakashul"}},{"@type":"WebPage","@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#webpage","url":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/","name":"Running GRAILS application on JETTY | TO THE NEW Blog","description":"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever's available memory so","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.today\/blog\/author\/prakashul\/#author"},"creator":{"@id":"https:\/\/2thenew.today\/blog\/author\/prakashul\/#author"},"datePublished":"2015-10-08T17:30:29+05:30","dateModified":"2015-10-09T11:24:32+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.today\/blog\/#website","url":"https:\/\/2thenew.today\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Running GRAILS application on JETTY | TO THE NEW Blog","og:description":"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever's available memory so","og:url":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/","og:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Running GRAILS application on JETTY | TO THE NEW Blog","twitter:description":"Jetty is one of the many open source HTTP servers and servlet containers available today. The key features that help us decide to use Jetty are: Performance: Jetty focuses on multi-HTTP connections to reduce page load time significantly Smaller Memory Footprint: It also takes up a very small amount of the sever's available memory so","twitter:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"27440","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"blog","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-30 06:50:02","updated":"2024-02-29 10:09:08","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tRunning GRAILS application on JETTY\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.today\/blog"},{"label":"Technology","link":"https:\/\/2thenew.today\/blog\/category\/technology\/"},{"label":"Running GRAILS application on JETTY","link":"https:\/\/2thenew.today\/blog\/running-grails-application-on-jetty\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/27440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/users\/178"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/comments?post=27440"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/27440\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/media?parent=27440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/categories?post=27440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/tags?post=27440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}