+++ /dev/null
-<!DOCTYPE html>
-<html lang="en-US">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width" />
- <title>juplo | Java bits from nerds for nerds</title>
- <link rel="profile" href="http://gmpg.org/xfn/11" />
- <link rel="pingback" href="http://juplo.de/xmlrpc.php" />
-
- <link rel="alternate" type="application/rss+xml" title="juplo » Feed" href="http://juplo.de/feed/" />
-<link rel="alternate" type="application/rss+xml" title="juplo » Comments Feed" href="http://juplo.de/comments/feed/" />
-
- <script type="text/javascript">//<![CDATA[
- // Google Analytics for WordPress by Yoast v4.3.3 | http://yoast.com/wordpress/google-analytics/
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-571104-3']);
- _gaq.push(['_trackPageview']);
- (function () {
- var ga = document.createElement('script');
- ga.type = 'text/javascript';
- ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(ga, s);
- })();
- //]]></script>
- <link rel='stylesheet' id='admin-bar-css' href='http://juplo.de/wp-includes/css/admin-bar.min.css?ver=3.6.1' type='text/css' media='all' />
-<link rel='stylesheet' id='style-css' href='http://juplo.de/wp-content/themes/juplo-theme/style.css?ver=3.6.1' type='text/css' media='all' />
-<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://juplo.de/xmlrpc.php?rsd" />
-<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://juplo.de/wp-includes/wlwmanifest.xml" />
-<meta name="generator" content="WordPress 3.6.1" />
- <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
-<style type="text/css" media="print">#wpadminbar { display:none; }</style>
-<style type="text/css" media="screen">
- html { margin-top: 28px !important; }
- * html body { margin-top: 28px !important; }
-</style>
-
- <link rel="stylesheet" type="text/css" href="/css/base.css" />
- <style type="text/css">
- @import '/css/screen.css' screen and (min-width: 960px);
- @import '/css/phone.css' screen and (max-width: 599px);
- @import '/css/tiny.css' screen and (max-width: 399px);
- </style>
- <script src="/js/base.js"></script>
- <!--[if IE 8]>
- <script src="/js/ie8.js"></script>
- <![endif]-->
- <!--[if IE 7]>
- <script src="/js/ie7.js"></script>
- <![endif]-->
- <!--[if lt IE 7]>
- <script src="/js/ie6.js"></script>
- <![endif]-->
-
- </head>
- <body class="home blog logged-in admin-bar no-customize-support" onload="prettyPrint()">
- <div id="page">
- <header id="header">
- <a href="http://juplo.de/" title="juplo" rel="home" id="logo">juplo</a>
- <span id="slogan">Java bits from nerds for nerds</span>
- <hr class="h"/>
- </header>
- <div class="fc cols_2">
- <div class="content cf">
- <div id="content" class="main">
-
-<article id="post-140" class="post-140 post type-post status-publish format-standard hentry category-jetty category-less category-maven category-wro4j">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="Permalink to Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources" rel="bookmark">Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="12:58" rel="bookmark"><time class="entry-date" datetime="2013-12-06T12:58:17+00:00" pubdate>December 6, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/jetty/" title="View all posts in Jetty" rel="category tag">Jetty</a>, <a href="http://juplo.de/category/less/" title="View all posts in less" rel="category tag">less</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>, <a href="http://juplo.de/category/wro4j/" title="View all posts in wro4j" rel="category tag">wro4j</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-140 -->
-
-<article id="post-114" class="post-114 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-3-released/" title="Permalink to hibernate4-maven-plugin 1.0.3 released!" rel="bookmark">hibernate4-maven-plugin 1.0.3 released!</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-3-released/" title="02:46" rel="bookmark"><time class="entry-date" datetime="2013-10-18T02:46:23+00:00" pubdate>October 18, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-114 -->
-
-<article id="post-97" class="post-97 post type-post status-publish format-standard hentry category-appengine category-java category-maven category-oauth2">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/log-out-from-wrong-account-with-maven-appengine-plugin/" title="Permalink to Log out from wrong Account with maven-appengine-plugin" rel="bookmark">Log out from wrong Account with maven-appengine-plugin</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/log-out-from-wrong-account-with-maven-appengine-plugin/" title="11:33" rel="bookmark"><time class="entry-date" datetime="2013-10-03T11:33:56+00:00" pubdate>October 3, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/appengine/" title="View all posts in appengine" rel="category tag">appengine</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>, <a href="http://juplo.de/category/oauth2/" title="View all posts in oauth2" rel="category tag">oauth2</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-97 -->
-
-<article id="post-90" class="post-90 post type-post status-publish format-standard hentry category-hibernate category-java category-jpa">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/bidirectional-association-with-elementcollection/" title="Permalink to Bidirectional Association with @ElementCollection" rel="bookmark">Bidirectional Association with @ElementCollection</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/bidirectional-association-with-elementcollection/" title="11:11" rel="bookmark"><time class="entry-date" datetime="2013-10-03T11:11:36+00:00" pubdate>October 3, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/jpa/" title="View all posts in JPA" rel="category tag">JPA</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-90 -->
-
-<article id="post-75" class="post-75 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-2-release/" title="Permalink to hibernate4-maven-plugin 1.0.2 released!" rel="bookmark">hibernate4-maven-plugin 1.0.2 released!</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-2-release/" title="02:06" rel="bookmark"><time class="entry-date" datetime="2013-08-02T02:06:08+00:00" pubdate>August 2, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-75 -->
-
-<article id="post-64" class="post-64 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-1-released/" title="Permalink to hibernate4-maven-plugin 1.0.1 released!" rel="bookmark">hibernate4-maven-plugin 1.0.1 released!</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-1-released/" title="01:10" rel="bookmark"><time class="entry-date" datetime="2013-01-16T01:10:59+00:00" pubdate>January 16, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-64 -->
-
-<article id="post-55" class="post-55 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-released/" title="Permalink to hibernate4-maven-plugin 1.0 released!" rel="bookmark">hibernate4-maven-plugin 1.0 released!</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-released/" title="22:04" rel="bookmark"><time class="entry-date" datetime="2012-11-29T22:04:25+00:00" pubdate>November 29, 2012</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-55 -->
-
-<article id="post-34" class="post-34 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
- <header class="entry-header">
- <h1 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="Permalink to hibernate4-maven-plugin" rel="bookmark">hibernate4-maven-plugin</a></h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="19:29" rel="bookmark"><time class="entry-date" datetime="2012-11-28T19:29:12+00:00" pubdate>November 28, 2012</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </header><!-- .entry-header -->
-
- <div class="entry-content">
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- <span class="cat-links">
- Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a> </span>
-
-
- </footer><!-- .entry-meta -->
-</article><!-- #post-34 -->
- </div>
- <div class="marginal">
- <nav id="nav">
- <hr />
- <a id="navigation"></a>
- </nav>
- <div id="secondary" class="widget-area" role="complementary">
- <aside id="archives" class="widget">
- <h1 class="widget-title">Archives</h1>
- <ul>
- <li><a href='http://juplo.de/2013/12/' title='December 2013'>December 2013</a></li>
- <li><a href='http://juplo.de/2013/10/' title='October 2013'>October 2013</a></li>
- <li><a href='http://juplo.de/2013/08/' title='August 2013'>August 2013</a></li>
- <li><a href='http://juplo.de/2013/01/' title='January 2013'>January 2013</a></li>
- <li><a href='http://juplo.de/2012/11/' title='November 2012'>November 2012</a></li>
- </ul>
- </aside>
- <aside id="categories" class="widget">
- <h1 class="widget-title">Most Used Categories</h1>
- <ul>
- <li class="cat-item cat-item-4"><a href="http://juplo.de/category/java/" title="View all posts filed under Java">Java</a> (7)
-</li>
- <li class="cat-item cat-item-8"><a href="http://juplo.de/category/maven/" title="View all posts filed under Maven">Maven</a> (7)
-</li>
- <li class="cat-item cat-item-6"><a href="http://juplo.de/category/hibernate/" title="View all posts filed under Hibernate">Hibernate</a> (6)
-</li>
- <li class="cat-item cat-item-9"><a href="http://juplo.de/category/jpa/" title="View all posts filed under JPA">JPA</a> (1)
-</li>
- <li class="cat-item cat-item-10"><a href="http://juplo.de/category/appengine/" title="View all posts filed under appengine">appengine</a> (1)
-</li>
- <li class="cat-item cat-item-11"><a href="http://juplo.de/category/oauth2/" title="View all posts filed under oauth2">oauth2</a> (1)
-</li>
- <li class="cat-item cat-item-12"><a href="http://juplo.de/category/jetty/" title="View all posts filed under Jetty">Jetty</a> (1)
-</li>
- <li class="cat-item cat-item-13"><a href="http://juplo.de/category/wro4j/" title="View all posts filed under wro4j">wro4j</a> (1)
-</li>
- <li class="cat-item cat-item-14"><a href="http://juplo.de/category/less/" title="View all posts filed under less">less</a> (1)
-</li>
- </ul>
- </aside>
- <aside id="search" class="widget widget_search">
- <h1 class="widget-title">Search</h1>
- <form role="search" method="get" id="searchform" class="searchform" action="http://juplo.de/">
- <div>
- <label class="screen-reader-text" for="s">Search for:</label>
- <input type="text" value="" name="s" id="s" />
- <input type="submit" id="searchsubmit" value="Search" />
- </div>
- </form> </aside>
- </div><!-- #secondary .widget-area -->
- <div id="tertiary" class="widget-area" role="supplementary">
- </div><!-- #tertiary .widget-area -->
-
- </div>
-
- </div>
- </div>
- <footer id="footer">
- <hr />
- <ul id="footerlinks">
- <li class="f" id="copyright">© <strong>mo</strong> 2013</li>
- </ul>
- </footer>
- </div>
- </body>
-</html>
-
<li class="m projects"><a href="${base}projects.html" class="m">Projects</a></li>
</ul>
</t:putAttribute>
+ <t:putAttribute name="maincontent" type="string">
+ <article id="post-140" class="post-140 post type-post status-publish format-standard hentry category-jetty category-less category-maven category-wro4j">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="Permalink to Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources" rel="bookmark">Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="12:58" rel="bookmark"><time class="entry-date" datetime="2013-12-06T12:58:17+00:00" pubdate>December 6, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/jetty/" title="View all posts in Jetty" rel="category tag">Jetty</a>, <a href="http://juplo.de/category/less/" title="View all posts in less" rel="category tag">less</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>, <a href="http://juplo.de/category/wro4j/" title="View all posts in wro4j" rel="category tag">wro4j</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-140 -->
+ <article id="post-114" class="post-114 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-3-released/" title="Permalink to hibernate4-maven-plugin 1.0.3 released!" rel="bookmark">hibernate4-maven-plugin 1.0.3 released!</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-3-released/" title="02:46" rel="bookmark"><time class="entry-date" datetime="2013-10-18T02:46:23+00:00" pubdate>October 18, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-114 -->
+ <article id="post-97" class="post-97 post type-post status-publish format-standard hentry category-appengine category-java category-maven category-oauth2">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/log-out-from-wrong-account-with-maven-appengine-plugin/" title="Permalink to Log out from wrong Account with maven-appengine-plugin" rel="bookmark">Log out from wrong Account with maven-appengine-plugin</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/log-out-from-wrong-account-with-maven-appengine-plugin/" title="11:33" rel="bookmark"><time class="entry-date" datetime="2013-10-03T11:33:56+00:00" pubdate>October 3, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/appengine/" title="View all posts in appengine" rel="category tag">appengine</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>, <a href="http://juplo.de/category/oauth2/" title="View all posts in oauth2" rel="category tag">oauth2</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-97 -->
+ <article id="post-90" class="post-90 post type-post status-publish format-standard hentry category-hibernate category-java category-jpa">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/bidirectional-association-with-elementcollection/" title="Permalink to Bidirectional Association with @ElementCollection" rel="bookmark">Bidirectional Association with @ElementCollection</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/bidirectional-association-with-elementcollection/" title="11:11" rel="bookmark"><time class="entry-date" datetime="2013-10-03T11:11:36+00:00" pubdate>October 3, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/jpa/" title="View all posts in JPA" rel="category tag">JPA</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-90 -->
+ <article id="post-75" class="post-75 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
+ <header class="entry-header">
+s <h2 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-2-release/" title="Permalink to hibernate4-maven-plugin 1.0.2 released!" rel="bookmark">hibernate4-maven-plugin 1.0.2 released!</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-2-release/" title="02:06" rel="bookmark"><time class="entry-date" datetime="2013-08-02T02:06:08+00:00" pubdate>August 2, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-75 -->
+ <article id="post-64" class="post-64 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-1-released/" title="Permalink to hibernate4-maven-plugin 1.0.1 released!" rel="bookmark">hibernate4-maven-plugin 1.0.1 released!</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-1-released/" title="01:10" rel="bookmark"><time class="entry-date" datetime="2013-01-16T01:10:59+00:00" pubdate>January 16, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-64 -->
+ <article id="post-55" class="post-55 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-1-0-released/" title="Permalink to hibernate4-maven-plugin 1.0 released!" rel="bookmark">hibernate4-maven-plugin 1.0 released!</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/hibernate4-maven-plugin-1-0-released/" title="22:04" rel="bookmark"><time class="entry-date" datetime="2012-11-29T22:04:25+00:00" pubdate>November 29, 2012</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-55 -->
+ <article id="post-34" class="post-34 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
+ <header class="entry-header">
+ <h2 class="entry-title"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="Permalink to hibernate4-maven-plugin" rel="bookmark">hibernate4-maven-plugin</a></h2>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="19:29" rel="bookmark"><time class="entry-date" datetime="2012-11-28T19:29:12+00:00" pubdate>November 28, 2012</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </header><!-- .entry-header -->
+ <div class="entry-content">
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ <span class="cat-links">
+ Posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>
+ </span>
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-34 -->
+ </t:putAttribute>
<t:putAttribute name="marginalcontent" type="string">
<div id="secondary" class="widget-area" role="complementary">
<aside id="archives" class="widget">
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en-US">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width" />
- <title>Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources | juplo</title>
- <link rel="profile" href="http://gmpg.org/xfn/11" />
- <link rel="pingback" href="http://juplo.de/xmlrpc.php" />
-
- <link rel="alternate" type="application/rss+xml" title="juplo » Feed" href="http://juplo.de/feed/" />
-<link rel="alternate" type="application/rss+xml" title="juplo » Comments Feed" href="http://juplo.de/comments/feed/" />
-
- <script type="text/javascript">//<![CDATA[
- // Google Analytics for WordPress by Yoast v4.3.3 | http://yoast.com/wordpress/google-analytics/
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-571104-3']);
- _gaq.push(['_trackPageview']);
- (function () {
- var ga = document.createElement('script');
- ga.type = 'text/javascript';
- ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(ga, s);
- })();
- //]]></script>
- <link rel="alternate" type="application/rss+xml" title="juplo » Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources Comments Feed" href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/feed/" />
-<link rel='stylesheet' id='admin-bar-css' href='http://juplo.de/wp-includes/css/admin-bar.min.css?ver=3.6.1' type='text/css' media='all' />
-<link rel='stylesheet' id='style-css' href='http://juplo.de/wp-content/themes/juplo-theme/style.css?ver=3.6.1' type='text/css' media='all' />
-<script type='text/javascript' src='http://juplo.de/wp-includes/js/comment-reply.min.js?ver=3.6.1'></script>
-<script type='text/javascript' src='http://juplo.de/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script>
-<script type='text/javascript' src='http://juplo.de/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>
-<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://juplo.de/xmlrpc.php?rsd" />
-<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://juplo.de/wp-includes/wlwmanifest.xml" />
-<link rel='prev' title='hibernate4-maven-plugin 1.0.3 released!' href='http://juplo.de/hibernate4-maven-plugin-1-0-3-released/' />
-<meta name="generator" content="WordPress 3.6.1" />
-<link rel='canonical' href='http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/' />
-<link rel='shortlink' href='http://juplo.de/?p=140' />
- <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
-<style type="text/css" media="print">#wpadminbar { display:none; }</style>
-<style type="text/css" media="screen">
- html { margin-top: 28px !important; }
- * html body { margin-top: 28px !important; }
-</style>
-
- <link rel="stylesheet" type="text/css" href="/css/base.css" />
- <style type="text/css">
- @import '/css/screen.css' screen and (min-width: 960px);
- @import '/css/phone.css' screen and (max-width: 599px);
- @import '/css/tiny.css' screen and (max-width: 399px);
- </style>
- <script src="/js/base.js"></script>
- <!--[if IE 8]>
- <script src="/js/ie8.js"></script>
- <![endif]-->
- <!--[if IE 7]>
- <script src="/js/ie7.js"></script>
- <![endif]-->
- <!--[if lt IE 7]>
- <script src="/js/ie6.js"></script>
- <![endif]-->
-
- </head>
- <body class="single single-post postid-140 single-format-standard logged-in admin-bar no-customize-support" onload="prettyPrint()">
- <div id="page">
- <header id="header">
- <a href="http://juplo.de/" title="juplo" rel="home" id="logo">juplo</a>
- <span id="slogan">Java bits from nerds for nerds</span>
- <hr class="h"/>
- </header>
- <div class="fc cols_2">
- <div class="content cf">
- <div id="content" class="main">
-
-<article id="post-140" class="post-140 post type-post status-publish format-standard hentry category-jetty category-less category-maven category-wro4j">
- <div class="entry-header">
- <h1 class="entry-title">Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources</h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="12:58" rel="bookmark"><time class="entry-date" datetime="2013-12-06T12:58:17+00:00" pubdate>December 6, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </div><!-- .entry-header -->
-
- <div class="entry-content">
- <p>Ever searched for a simple configuration, that lets you use your <a href="http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.eclipse.org']);" title="See the documentation for mor information">jetty-maven-plugin</a> as you are used to, while working with <a href="http://www.lesscss.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.lesscss.org']);" title="See LESS CSS documentation for mor informations">LESS</a> to simplify your stylesheets?</p>
-<p>You cannot do both, use the <a href="http://www.lesscss.org/#usage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.lesscss.org']);" title="More about the client-side usage of LESS">Client-side mode</a> of LESS to ease development and use the <a href="https://github.com/marceloverdijk/lesscss-maven-plugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com']);" title="Homepage of the official LESS CSS maven plugin">lesscss-maven-plugin</a> to automatically compile the LESS-sources into CSS for production. That does not work, because your stylesheets must be linked in different ways if you are switching between the client-side mode – which is best for development – and the pre-compiled mode – which is best for production. For the client-side mode you need something like:</p>
-<pre class="prettyprint linenums">\r
-<code class="html">\r
-<link rel="stylesheet/less" type="text/css" href="styles.less" />\r
-<script src="less.js" type="text/javascript"></script>\r
-</code>\r
-</pre>
-<p>While, for the pre-compiled mode, you want to link to your stylesheets as usual, with:</p>
-<pre class="prettyprint linenums">\r
-<code class="html">\r
-<link rel="stylesheet" type="text/css" href="styles.css" />\r
-</code>\r
-</pre>
-<p>While looking for a solution to this dilemma, I stumbled accross <a href="https://code.google.com/p/wro4j/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the documentation of ths wounderfull tool">wro4j</a>. Originally intended, to speed up page-delivery by combining and minimizing multiple resources into one through the use of a servlet-filter, this tool also comes with a maven-plugin, that let you do the same offline, while compiling your webapp.</p>
-<p>The idea is, to use the <a href="http://code.google.com/p/wro4j/wiki/MavenPlugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the documentation of hte wro4j-maven-plugin">wro4j-maven-plugin</a> to compile and combine your LESS-sources into CSS for production and to use the <a href="http://code.google.com/p/wro4j/wiki/Installation" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See how to configure the filter">wro4j filter</a>, to dynamically deliver the compiled CSS while developing. This way, you do not have to alter your HTML-code, when switching between development and production, because you always link to the CSS-files.</p>
-<p>So, lets get dirty!</p>
-<h2>Step 1: Configure wro4j</h2>
-<p>First, we configure <strong>wro4j</strong>, like as we want to use it to speed up our page. The details are explained and linked on wro4j’s <a href="http://code.google.com/p/wro4j/wiki/GettingStarted" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="Visit the Getting-Started-Page">Getting-Started-Page</a>. In short, we just need two files: <strong>wro.xml</strong> and <strong>wro.properties</strong>.</p>
-<h3>wro.xml</h3>
-<p>wro.xml tells wro4j, which resources should be combined and how the result should be named. I am using the following configuration to generate all LESS-Sources beneath <code>base/</code> into one CSS-file called <code>base.css</code>:</p>
-<pre class="prettyprint linenums">\r
-<code class="xml">\r
-<groups xmlns="http://www.isdc.ro/wro">\r
- <group name="base">\r
- <css>/less/base/*.less</css>\r
- </group>\r
-</code>\r
-</pre>
-<p>wro4j looks for <code>/less/base/*.less</code> inside the root of the web-context, which is equal to <code>src/main/webapp</code> in a normal maven-project. There are <a href="http://code.google.com/p/wro4j/wiki/ResourceTypes" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the resource locator documentation of wro4j for more details">other ways to specifie the resources</a>, which enable you to store them elswhere. But this approach works best for our goal, because the path is understandable for both: the wro4j servlet-filter, we are configuring now for our development-environment, and the wro4j-maven-plugin, that we will configure later for build-time compilation.</p>
-<h3>wro.properties</h3>
-<p>wro.properties in short tells wro4j, how or if it should convert the combined sources and how it should behave. I am using the following configuration to tell wro4j, that it should convert <code>*.less</code>-sources into CSS and do that on <em>every request</em>:</p>
-<pre class="prettyprint linenums">\r
-<code class="properties">\r
-preProcessors=less4j\r
-disableCache=true\r
-</code>\r
-</pre>
-<p>You can do a lot more here. There are countless <a href="http://code.google.com/p/wro4j/wiki/ConfigurationOptions" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See all configuration options">configuration options</a> to fine-tune the behaviour of wro4j. The <code>disableCache=true</code> is crucial, because we would not see the changes take effect when developing with <strong>jetty-maven-plugin</strong> later on. You can also do much more with your resources here, for example <a href="https://code.google.com/p/wro4j/wiki/AvailableProcessors" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See all available processors">minimizing</a>. But for our goal, we are now only intrested in the compilation of our LESS-sources.</p>
-<h2>Step 2: Configure the wro4j servlet-filter</h2>
-<p>Configuring the filter in the <strong>web.xml</strong> is easy. It is explained in wro4j’s <a href="https://code.google.com/p/wro4j/wiki/Installation" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the installation instructions for the wro4j servlet-filter">installation-insctuctions</a>. But the trick is, that we do not want to configure that filter for the production-version of our webapp, because we want to compile the resources offline, when the webapp is build. To acchieve this, we can use the <code><overrideDescriptor></code>-Parameter of the <a href="http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin#Configuring_Your_WebApp" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.eclipse.org']);" title="Read more about the configuration of the jetty-maven-plugin">jetty-maven-plugin</a>.</p>
-<h2><overrideDescriptor></h2>
-<p>This parameter lets you specify additional configuration options for the web.xml of your webapp. I am using the following configuration for my jetty-maven-plugin:</p>
-<pre class="prettyprint linenums">\r
-<code class="xml">\r
-<plugin>\r
- <groupId>org.eclipse.jetty</groupId>\r
- <artifactId>jetty-maven-plugin</artifactId>\r
- <configuration>\r
- <webApp>\r
- <overrideDescriptor>${project.basedir}/src/test/resources/jetty-web.xml</overrideDescriptor>\r
- </webApp>\r
- </configuration>\r
- <dependencies>\r
- <dependency>\r
- <groupId>ro.isdc.wro4j</groupId>\r
- <artifactId>wro4j-core</artifactId>\r
- <version>${wro4j.version}</version>\r
- </dependency>\r
- <dependency>\r
- <groupId>ro.isdc.wro4j</groupId>\r
- <artifactId>wro4j-extensions</artifactId>\r
- <version>${wro4j.version}</version>\r
- <exclusions>\r
- <exclusion>\r
- <groupId>javax.servlet</groupId>\r
- <artifactId>servlet-api</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.apache.commons</groupId>\r
- <artifactId>commons-lang3</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>commons-io</groupId>\r
- <artifactId>commons-io</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>commons-pool</groupId>\r
- <artifactId>commons-pool</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.springframework</groupId>\r
- <artifactId>spring-web</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>com.google.code.gson</groupId>\r
- <artifactId>gson</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>com.google.javascript</groupId>\r
- <artifactId>closure-compiler</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>com.github.lltyk</groupId>\r
- <artifactId>dojo-shrinksafe</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.jruby</groupId>\r
- <artifactId>jruby-core</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.jruby</groupId>\r
- <artifactId>jruby-stdlib</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.jruby</groupId>\r
- <artifactId>jruby-stdlib</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>me.n4u.sass</groupId>\r
- <artifactId>sass-gems</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>nz.co.edmi</groupId>\r
- <artifactId>bourbon-gem-jar</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.codehaus.gmaven.runtime</groupId>\r
- <artifactId>gmaven-runtime-1.7</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>jshint</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>less</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>emberjs</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>handlebars</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>coffee-script</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>jslint</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>json2</artifactId>\r
- </exclusion>\r
- <exclusion>\r
- <groupId>org.webjars</groupId>\r
- <artifactId>jquery</artifactId>\r
- </exclusion>\r
- </exclusions>\r
- </dependency>\r
- </dependencies>\r
-</plugin></code>\r
-</pre>
-<p>The dependencies to <strong>wro4j-core</strong> and <strong>wro4j-extensions</strong> are needed by jetty, to be able to enable the filter defined below. Unfortunatly, one of the transitive dependencies of <code>wro4j-extensions</code> triggers an uggly error when running the jetty-maven-plugin. Therefore, all unneeded dependencies of <code>wro4j-extensions</code> are excluded, as a workaround for this error/bug.</p>
-<h2>jetty-web.xml</h2>
-<p>And my jetty-web.xml looks like this:</p>
-<pre class="prettyprint linenums">\r
-<code class="xml">\r
-<?xml version="1.0" encoding="UTF-8"?>\r
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"\r
- version="2.5">\r
- <filter>\r
- <filter-name>wro</filter-name>\r
- <filter-class>ro.isdc.wro.http.WroFilter</filter-class>\r
- </filter>\r
- <filter-mapping>\r
- <filter-name>wro</filter-name>\r
- <url-pattern>*.css</url-pattern>\r
- </filter-mapping>\r
-</web-app>\r
-</code>\r
-</pre>
-<p>The filter processes any URI’s that end with <code>.css</code>. This way, the wro4j servlet-filter makes <code>base.css</code> available under any path, because for exampl <code>/base.css</code>, <code>/css/base.css</code> and <code>/foo/bar/base.css</code> all end with <code>.css</code>.</p>
-<p>This is all, that is needed to develop with dynamically reloadable compiled LESS-resources. Just fire up your browser and browse to <code>/what/you/like/base.css</code>. (But do not forget to put some LESS-files in <code>src/main/webapp/less/base/</code> first!)</p>
-<h2>Step 3: Install wro4j-maven-plugin</h2>
-<p>All that is left over to configure now, is the build-process. If you would build and deploy your webapp now, the CSS-file <code>base.css</code> would not be generated and the link to your stylesheet, that already works in our jetty-maven-plugin environment would point to a 404. Hence, we need to set up the <strong>wro4j-maven-plugin</strong>. I am using this configuration:</p>
-<pre class="prettyprint linenums">\r
-<code class="xml">\r
-<plugin>\r
- <groupId>ro.isdc.wro4j</groupId>\r
- <artifactId>wro4j-maven-plugin</artifactId>\r
- <version>${wro4j.version}</version>\r
- <configuration>\r
- <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>\r
- <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>\r
- </configuration>\r
- <executions>\r
- <execution>\r
- <phase>package</phase>\r
- <goals>\r
- <goal>run</goal>\r
- </goals>\r
- </execution>\r
- </executions>\r
-</plugin>\r
-</code>\r
-</pre>
-<p>I connected the <code>run</code>-goal with the <code>package</code>-phase, because the statically compiled CSS-file is needed only in the final war. The <code>ConfigurableWroManagerFactory</code> tells wro4j, that it should look up further configuration options in our <code>wro.properties</code>-file, where we tell wro4j, that it should compile our LESS-resources. The <code><cssDestinationFolder></code>-tag tells wro4j, where it should put the generated CSS-file. You can adjust that to suite your needs.</p>
-<p>That’s it: now the same CSS-file, which is created on the fly by the wro4j servlet-filter when using <code>mvn jetty:run</code> and, thus, enables dynamic reloading of our LESS-resources, is generated during the build-process by the wro4j-maven-plugin.</p>
-<h2>Cleanup and further considerations</h2>
-<h3>lesscss-maven-plugin</h3>
-<p>If you already compile your LESS-resources with the lesscss-maven-plugin, you can stick with it and skip step 3. But I strongly recommend giving wro4j-maven-plugin a try, because it is a much more powerfull tool, that can speed up your final webapp even more.</p>
-<h3>Clean up your mess </h3>
-<p>With a configuration like the above one, your LESS-resources and wro4j-configuration-files will be packed into your production-war. That might be confusing later, because neither wro4j nor LESS is used in the final war. You can add the following to your <code>pom.xml</code> to exclude these files from your war for the sake of clarity:</p>
-<pre class="prettyprint linenums">\r
-<code class="xml">\r
-<plugin>\r
- <artifactId>maven-war-plugin</artifactId>\r
- <configuration>\r
- <warSourceExcludes>\r
- WEB-INF/wro.*,\r
- less/**\r
- </warSourceExcludes>\r
- </configuration>\r
-</plugin>\r
-</code>\r
-</pre>
-<h3>What’s next?</h3>
-<p>We only scrached the surface, of what can be done with wro4j. Based on this configuration, you can easily enable additional features to fine-tune your final build for maximum speed. You really should take a look at the <a href="https://code.google.com/p/wro4j/wiki/AvailableProcessors" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="Available Processors">list of available Processors</a>!</p>
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- This entry was posted in <a href="http://juplo.de/category/jetty/" title="View all posts in Jetty" rel="category tag">Jetty</a>, <a href="http://juplo.de/category/less/" title="View all posts in less" rel="category tag">less</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>, <a href="http://juplo.de/category/wro4j/" title="View all posts in wro4j" rel="category tag">wro4j</a>. Bookmark the <a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="Permalink to Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources" rel="bookmark">permalink</a>.
- </footer><!-- .entry-meta -->
-</article><!-- #post-140 -->
-
-<!-- You can start editing here. -->
-
-
- <!-- If comments are open, but there are no comments. -->
-
-
-
-<div id="respond">
-
-<h3>Leave a Reply</h3>
-
-<div id="cancel-comment-reply">
- <small><a rel="nofollow" id="cancel-comment-reply-link" href="/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/#respond" style="display:none;">Click here to cancel reply.</a></small>
-</div>
-
-
-<form action="http://juplo.de/wp-comments-post.php" method="post" id="commentform">
-
-
-<p>Logged in as <a href="http://juplo.de/wp-admin/profile.php">Kai Moritz</a>. <a href="http://juplo.de/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fjuplo.de%2Fcombining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources%2F&_wpnonce=09e5cb501d" title="Log out of this account">Log out »</a></p>
-
-
-<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> </code></small></p>-->
-
-<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
-
-<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
-<input type='hidden' name='comment_post_ID' value='140' id='comment_post_ID' />
-<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
-</p>
-<input type="hidden" id="_wp_unfiltered_html_comment_disabled" name="_wp_unfiltered_html_comment_disabled" value="2096655c89" /><script>(function(){if(window===window.parent){document.getElementById('_wp_unfiltered_html_comment_disabled').name='_wp_unfiltered_html_comment';}})();</script>
-<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="f31e001227" /></p>
-</form>
-
-</div>
-
- </div>
- <div class="marginal">
- <nav id="nav">
- <hr />
- <a id="navigation"></a>
- </nav>
- <div id="secondary" class="widget-area" role="complementary">
- <aside id="archives" class="widget">
- <h1 class="widget-title">Archives</h1>
- <ul>
- <li><a href='http://juplo.de/2013/12/' title='December 2013'>December 2013</a></li>
- <li><a href='http://juplo.de/2013/10/' title='October 2013'>October 2013</a></li>
- <li><a href='http://juplo.de/2013/08/' title='August 2013'>August 2013</a></li>
- <li><a href='http://juplo.de/2013/01/' title='January 2013'>January 2013</a></li>
- <li><a href='http://juplo.de/2012/11/' title='November 2012'>November 2012</a></li>
- </ul>
- </aside>
- <aside id="categories" class="widget">
- <h1 class="widget-title">Most Used Categories</h1>
- <ul>
- <li class="cat-item cat-item-4"><a href="http://juplo.de/category/java/" title="View all posts filed under Java">Java</a> (7)
-</li>
- <li class="cat-item cat-item-8"><a href="http://juplo.de/category/maven/" title="View all posts filed under Maven">Maven</a> (7)
-</li>
- <li class="cat-item cat-item-6"><a href="http://juplo.de/category/hibernate/" title="View all posts filed under Hibernate">Hibernate</a> (6)
-</li>
- <li class="cat-item cat-item-9"><a href="http://juplo.de/category/jpa/" title="View all posts filed under JPA">JPA</a> (1)
-</li>
- <li class="cat-item cat-item-10"><a href="http://juplo.de/category/appengine/" title="View all posts filed under appengine">appengine</a> (1)
-</li>
- <li class="cat-item cat-item-11"><a href="http://juplo.de/category/oauth2/" title="View all posts filed under oauth2">oauth2</a> (1)
-</li>
- <li class="cat-item cat-item-12"><a href="http://juplo.de/category/jetty/" title="View all posts filed under Jetty">Jetty</a> (1)
-</li>
- <li class="cat-item cat-item-13"><a href="http://juplo.de/category/wro4j/" title="View all posts filed under wro4j">wro4j</a> (1)
-</li>
- <li class="cat-item cat-item-14"><a href="http://juplo.de/category/less/" title="View all posts filed under less">less</a> (1)
-</li>
- </ul>
- </aside>
- <aside id="search" class="widget widget_search">
- <h1 class="widget-title">Search</h1>
- <form role="search" method="get" id="searchform" class="searchform" action="http://juplo.de/">
- <div>
- <label class="screen-reader-text" for="s">Search for:</label>
- <input type="text" value="" name="s" id="s" />
- <input type="submit" id="searchsubmit" value="Search" />
- </div>
- </form> </aside>
- </div><!-- #secondary .widget-area -->
- <div id="tertiary" class="widget-area" role="supplementary">
- </div><!-- #tertiary .widget-area -->
-
- </div>
-
- </div>
- </div>
- <footer id="footer">
- <hr />
- <ul id="footerlinks">
- <li class="f" id="copyright">© <strong>mo</strong> 2013</li>
- </ul>
- </footer>
- </div>
- </body>
-</html>
-
--- /dev/null
+<%@page contentType="text/html;charset=UTF-8"%>
+<%@page pageEncoding="UTF-8"%>
+<%@page session="false" %>
+<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="t" %>
+<%@taglib uri="http://www.springframework.org/tags" prefix="s"%>
+<s:url var="base" value="/" />
+<t:insertDefinition name="BASEPAGE">
+ <t:putAttribute name="title" value="" type="string"/>
+ <t:putAttribute name="breadcrumb">
+ <li class="b"><a class="b" href="${base}index.html">Home</a></li>
+ <li class="b"><strong class="b">Blog</strong></li>
+ </t:putAttribute>
+ <t:putAttribute name="navigation" type="string">
+ <h1 class="nav">Navigation</h1>
+ <h2 class="nav menu">Section-Menu</h2>
+ <ul id="menu">
+ <li class="m blog"><strong class="m">Blog</strong></li>
+ <li class="m projects"><a href="${base}projects.html" class="m">Projects</a></li>
+ </ul>
+ </t:putAttribute>
+ <t:putAttribute name="maincontent" type="string">
+ <article id="post-140" class="post-140 post type-post status-publish format-standard hentry category-jetty category-less category-maven category-wro4j">
+ <div class="entry-header">
+ <h1 class="entry-title">Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources</h1>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="12:58" rel="bookmark"><time class="entry-date" datetime="2013-12-06T12:58:17+00:00" pubdate>December 6, 2013</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </div><!-- .entry-header -->
+ <div class="entry-content">
+ <p>Ever searched for a simple configuration, that lets you use your <a href="http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.eclipse.org']);" title="See the documentation for mor information">jetty-maven-plugin</a> as you are used to, while working with <a href="http://www.lesscss.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.lesscss.org']);" title="See LESS CSS documentation for mor informations">LESS</a> to simplify your stylesheets?</p>
+ <p>You cannot do both, use the <a href="http://www.lesscss.org/#usage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.lesscss.org']);" title="More about the client-side usage of LESS">Client-side mode</a> of LESS to ease development and use the <a href="https://github.com/marceloverdijk/lesscss-maven-plugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com']);" title="Homepage of the official LESS CSS maven plugin">lesscss-maven-plugin</a> to automatically compile the LESS-sources into CSS for production. That does not work, because your stylesheets must be linked in different ways if you are switching between the client-side mode – which is best for development – and the pre-compiled mode – which is best for production. For the client-side mode you need something like:</p>
+ <pre class="prettyprint linenums">
+<code class="html">
+<link rel="stylesheet/less" type="text/css" href="styles.less" />
+<script src="less.js" type="text/javascript"></script>
+</code>
+ </pre>
+ <p>While, for the pre-compiled mode, you want to link to your stylesheets as usual, with:</p>
+ <pre class="prettyprint linenums">
+<code class="html">
+<link rel="stylesheet" type="text/css" href="styles.css" />
+</code>
+ </pre>
+ <p>While looking for a solution to this dilemma, I stumbled accross <a href="https://code.google.com/p/wro4j/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the documentation of ths wounderfull tool">wro4j</a>. Originally intended, to speed up page-delivery by combining and minimizing multiple resources into one through the use of a servlet-filter, this tool also comes with a maven-plugin, that let you do the same offline, while compiling your webapp.</p>
+ <p>The idea is, to use the <a href="http://code.google.com/p/wro4j/wiki/MavenPlugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the documentation of hte wro4j-maven-plugin">wro4j-maven-plugin</a> to compile and combine your LESS-sources into CSS for production and to use the <a href="http://code.google.com/p/wro4j/wiki/Installation" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See how to configure the filter">wro4j filter</a>, to dynamically deliver the compiled CSS while developing. This way, you do not have to alter your HTML-code, when switching between development and production, because you always link to the CSS-files.</p>
+ <p>So, lets get dirty!</p>
+ <h2>Step 1: Configure wro4j</h2>
+ <p>First, we configure <strong>wro4j</strong>, like as we want to use it to speed up our page. The details are explained and linked on wro4j’s <a href="http://code.google.com/p/wro4j/wiki/GettingStarted" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="Visit the Getting-Started-Page">Getting-Started-Page</a>. In short, we just need two files: <strong>wro.xml</strong> and <strong>wro.properties</strong>.</p>
+ <h3>wro.xml</h3>
+ <p>wro.xml tells wro4j, which resources should be combined and how the result should be named. I am using the following configuration to generate all LESS-Sources beneath <code>base/</code> into one CSS-file called <code>base.css</code>:</p>
+ <pre class="prettyprint linenums">
+<code class="xml">
+<groups xmlns="http://www.isdc.ro/wro">
+ <group name="base">
+ <css>/less/base/*.less</css>
+ </group>
+</code>
+ </pre>
+ <p>wro4j looks for <code>/less/base/*.less</code> inside the root of the web-context, which is equal to <code>src/main/webapp</code> in a normal maven-project. There are <a href="http://code.google.com/p/wro4j/wiki/ResourceTypes" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com']);" title="See the resource locator documentation of wro4j for more details">other ways to specifie the resources</a>, which enable you to store them elswhere. But this approach works best for our goal, because the path is understandable for both: the wro4j servlet-filter, we are configuring now for our development-environment, and the wro4j-maven-plugin, that we will configure later for build-time compilation.</p>
+ <h3>wro.properties</h3>
+ <p>wro.properties in short tells wro4j, how or if it should convert the combined sources and how it should behave. I am using the following configuration to tell wro4j, that it should convert <code>*.less</code>-sources into CSS and do that on <em>every request</em>:</p>
+ <pre class="prettyprint linenums">
+<code class="properties">
+preProcessors=less4j
+disableCache=true
+</code>
+ </pre>
+ <p>You can do a lot more here. There are countless <a href="http://code.google.com/p/wro4j/wiki/ConfigurationOptions" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-article', 'http://code.google.com']);" title="See all configuration options">configuration options</a> to fine-tune the behaviour of wro4j. The <code>disableCache=true</code> is crucial, because we would not see the changes take effect when developing with <strong>jetty-maven-plugin</strong> later on. You can also do much more with your resources here, for example <a href="https://code.google.com/p/wro4j/wiki/AvailableProcessors" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-article', 'http://code.google.com']);" title="See all available processors">minimizing</a>. But for our goal, we are now only intrested in the compilation of our LESS-sources.</p>
+ <h2>Step 2: Configure the wro4j servlet-filter</h2>
+ <p>Configuring the filter in the <strong>web.xml</strong> is easy. It is explained in wro4j’s <a href="https://code.google.com/p/wro4j/wiki/Installation" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-article', 'http://code.google.com']);" title="See the installation instructions for the wro4j servlet-filter">installation-insctuctions</a>. But the trick is, that we do not want to configure that filter for the production-version of our webapp, because we want to compile the resources offline, when the webapp is build. To acchieve this, we can use the <code><overrideDescriptor></code>-Parameter of the <a href="http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin#Configuring_Your_WebApp" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-article', 'http://wiki.eclipse.org']);" title="Read more about the configuration of the jetty-maven-plugin">jetty-maven-plugin</a>.</p>
+ <h2><overrideDescriptor></h2>
+ <p>This parameter lets you specify additional configuration options for the web.xml of your webapp. I am using the following configuration for my jetty-maven-plugin:</p>
+ <pre class="prettyprint linenums">
+<code class="xml">
+<plugin>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <configuration>
+ <webApp>
+ <overrideDescriptor>${project.basedir}/src/test/resources/jetty-web.xml</overrideDescriptor>
+ </webApp>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>ro.isdc.wro4j</groupId>
+ <artifactId>wro4j-core</artifactId>
+ <version>${wro4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>ro.isdc.wro4j</groupId>
+ <artifactId>wro4j-extensions</artifactId>
+ <version>${wro4j.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.javascript</groupId>
+ <artifactId>closure-compiler</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.github.lltyk</groupId>
+ <artifactId>dojo-shrinksafe</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jruby</groupId>
+ <artifactId>jruby-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jruby</groupId>
+ <artifactId>jruby-stdlib</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jruby</groupId>
+ <artifactId>jruby-stdlib</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>me.n4u.sass</groupId>
+ <artifactId>sass-gems</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>nz.co.edmi</groupId>
+ <artifactId>bourbon-gem-jar</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.gmaven.runtime</groupId>
+ <artifactId>gmaven-runtime-1.7</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>jshint</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>less</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>emberjs</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>handlebars</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>coffee-script</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>jslint</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>json2</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>jquery</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</plugin>
+</code>
+ </pre>
+ <p>The dependencies to <strong>wro4j-core</strong> and <strong>wro4j-extensions</strong> are needed by jetty, to be able to enable the filter defined below. Unfortunatly, one of the transitive dependencies of <code>wro4j-extensions</code> triggers an uggly error when running the jetty-maven-plugin. Therefore, all unneeded dependencies of <code>wro4j-extensions</code> are excluded, as a workaround for this error/bug.</p>
+ <h2>jetty-web.xml</h2>
+ <p>And my jetty-web.xml looks like this:</p>
+ <pre class="prettyprint linenums">
+<code class="xml">
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ version="2.5">
+ <filter>
+ <filter-name>wro</filter-name>
+ <filter-class>ro.isdc.wro.http.WroFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>wro</filter-name>
+ <url-pattern>*.css</url-pattern>
+ </filter-mapping>
+</web-app>
+</code>
+ </pre>
+ <p>The filter processes any URI’s that end with <code>.css</code>. This way, the wro4j servlet-filter makes <code>base.css</code> available under any path, because for exampl <code>/base.css</code>, <code>/css/base.css</code> and <code>/foo/bar/base.css</code> all end with <code>.css</code>.</p>
+ <p>This is all, that is needed to develop with dynamically reloadable compiled LESS-resources. Just fire up your browser and browse to <code>/what/you/like/base.css</code>. (But do not forget to put some LESS-files in <code>src/main/webapp/less/base/</code> first!)</p>
+ <h2>Step 3: Install wro4j-maven-plugin</h2>
+ <p>All that is left over to configure now, is the build-process. If you would build and deploy your webapp now, the CSS-file <code>base.css</code> would not be generated and the link to your stylesheet, that already works in our jetty-maven-plugin environment would point to a 404. Hence, we need to set up the <strong>wro4j-maven-plugin</strong>. I am using this configuration:</p>
+ <pre class="prettyprint linenums">
+<code class="xml">
+<plugin>
+ <groupId>ro.isdc.wro4j</groupId>
+ <artifactId>wro4j-maven-plugin</artifactId>
+ <version>${wro4j.version}</version>
+ <configuration>
+ <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
+ <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+</plugin>
+</code>
+ </pre>
+ <p>I connected the <code>run</code>-goal with the <code>package</code>-phase, because the statically compiled CSS-file is needed only in the final war. The <code>ConfigurableWroManagerFactory</code> tells wro4j, that it should look up further configuration options in our <code>wro.properties</code>-file, where we tell wro4j, that it should compile our LESS-resources. The <code><cssDestinationFolder></code>-tag tells wro4j, where it should put the generated CSS-file. You can adjust that to suite your needs.</p>
+ <p>That’s it: now the same CSS-file, which is created on the fly by the wro4j servlet-filter when using <code>mvn jetty:run</code> and, thus, enables dynamic reloading of our LESS-resources, is generated during the build-process by the wro4j-maven-plugin.</p>
+ <h2>Cleanup and further considerations</h2>
+ <h3>lesscss-maven-plugin</h3>
+ <p>If you already compile your LESS-resources with the lesscss-maven-plugin, you can stick with it and skip step 3. But I strongly recommend giving wro4j-maven-plugin a try, because it is a much more powerfull tool, that can speed up your final webapp even more.</p>
+ <h3>Clean up your mess </h3>
+ <p>With a configuration like the above one, your LESS-resources and wro4j-configuration-files will be packed into your production-war. That might be confusing later, because neither wro4j nor LESS is used in the final war. You can add the following to your <code>pom.xml</code> to exclude these files from your war for the sake of clarity:</p>
+ <pre class="prettyprint linenums">
+<code class="xml">
+<plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <warSourceExcludes>
+ WEB-INF/wro.*,
+ less/**
+ </warSourceExcludes>
+ </configuration>
+</plugin>
+</code>
+ </pre>
+ <h3>What’s next?</h3>
+ <p>We only scrached the surface, of what can be done with wro4j. Based on this configuration, you can easily enable additional features to fine-tune your final build for maximum speed. You really should take a look at the <a href="https://code.google.com/p/wro4j/wiki/AvailableProcessors" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-article', 'http://code.google.com']);" title="Available Processors">list of available Processors</a>!</p>
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ This entry was posted in <a href="http://juplo.de/category/jetty/" title="View all posts in Jetty" rel="category tag">Jetty</a>, <a href="http://juplo.de/category/less/" title="View all posts in less" rel="category tag">less</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>, <a href="http://juplo.de/category/wro4j/" title="View all posts in wro4j" rel="category tag">wro4j</a>. Bookmark the <a href="http://juplo.de/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/" title="Permalink to Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources" rel="bookmark">permalink</a>.
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-140 -->
+ <!-- You can start editing here. -->
+ <!-- If comments are open, but there are no comments. -->
+ <div id="respond">
+ <h3>Leave a Reply</h3>
+ <div id="cancel-comment-reply">
+ <small><a rel="nofollow" id="cancel-comment-reply-link" href="/combining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources/#respond" style="display:none;">Click here to cancel reply.</a></small>
+ </div>
+ <form action="http://juplo.de/wp-comments-post.php" method="post" id="commentform">
+ <p>Logged in as <a href="http://juplo.de/wp-admin/profile.php">Kai Moritz</a>. <a href="http://juplo.de/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fjuplo.de%2Fcombining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources%2F&_wpnonce=09e5cb501d" title="Log out of this account">Log out »</a></p>
+ <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> </code></small></p>-->
+ <p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
+ <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
+ <input type='hidden' name='comment_post_ID' value='140' id='comment_post_ID' />
+ <input type='hidden' name='comment_parent' id='comment_parent' value='0' />
+ </p>
+ <input type="hidden" id="_wp_unfiltered_html_comment_disabled" name="_wp_unfiltered_html_comment_disabled" value="2096655c89" /><script>(function() {
+ if (window === window.parent) {
+ document.getElementById('_wp_unfiltered_html_comment_disabled').name = '_wp_unfiltered_html_comment';
+ }
+ })();</script>
+ <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="f31e001227" /></p>
+ </form>
+ </t:putAttribute>
+ <t:putAttribute name="marginalcontent" type="string">
+ <div id="secondary" class="widget-area" role="complementary">
+ <aside id="archives" class="widget">
+ <h1 class="widget-title">Archives</h1>
+ <ul>
+ <li><a href='http://juplo.de/2013/10/' title='October 2013'>October 2013</a></li>
+ <li><a href='http://juplo.de/2013/08/' title='August 2013'>August 2013</a></li>
+ <li><a href='http://juplo.de/2013/01/' title='January 2013'>January 2013</a></li>
+ <li><a href='http://juplo.de/2012/11/' title='November 2012'>November 2012</a></li>
+ </ul>
+ </aside>
+ <aside id="categories" class="widget">
+ <h1 class="widget-title">Most Used Categories</h1>
+ <ul>
+ <li class="cat-item cat-item-4"><a href="http://juplo.de/category/java/" title="View all posts filed under Java">Java</a> (6)</li>
+ <li class="cat-item cat-item-6"><a href="http://juplo.de/category/hibernate/" title="View all posts filed under Hibernate">Hibernate</a> (5)</li>
+ <li class="cat-item cat-item-8"><a href="http://juplo.de/category/maven/" title="View all posts filed under Maven">Maven</a> (5)</li>
+ <li class="cat-item cat-item-9"><a href="http://juplo.de/category/jpa/" title="View all posts filed under JPA">JPA</a> (1)</li>
+ <li class="cat-item cat-item-10"><a href="http://juplo.de/category/appengine/" title="View all posts filed under appengine">appengine</a> (1)</li>
+ <li class="cat-item cat-item-11"><a href="http://juplo.de/category/oauth2/" title="View all posts filed under oauth2">oauth2</a> (1)</li>
+ </ul>
+ </aside>
+ <aside id="search" class="widget widget_search">
+ <h1 class="widget-title">Search</h1>
+ <form role="search" method="get" id="searchform" class="searchform" action="http://juplo.de/">
+ <div>
+ <label class="screen-reader-text" for="s">Search for:</label>
+ <input type="text" value="" name="s" id="s" />
+ <input type="submit" id="searchsubmit" value="Search" />
+ </div>
+ </form>
+ </aside>
+ </div><!-- #secondary .widget-area -->
+ <div id="tertiary" class="widget-area" role="supplementary">
+ </div><!-- #tertiary .widget-area -->
+ </t:putAttribute>
+</t:insertDefinition>
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en-US">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width" />
- <title>hibernate4-maven-plugin | juplo</title>
- <link rel="profile" href="http://gmpg.org/xfn/11" />
- <link rel="pingback" href="http://juplo.de/xmlrpc.php" />
-
- <link rel="alternate" type="application/rss+xml" title="juplo » Feed" href="http://juplo.de/feed/" />
-<link rel="alternate" type="application/rss+xml" title="juplo » Comments Feed" href="http://juplo.de/comments/feed/" />
-
- <script type="text/javascript">//<![CDATA[
- // Google Analytics for WordPress by Yoast v4.3.3 | http://yoast.com/wordpress/google-analytics/
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-571104-3']);
- _gaq.push(['_trackPageview']);
- (function () {
- var ga = document.createElement('script');
- ga.type = 'text/javascript';
- ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(ga, s);
- })();
- //]]></script>
- <link rel="alternate" type="application/rss+xml" title="juplo » hibernate4-maven-plugin Comments Feed" href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/feed/" />
-<link rel='stylesheet' id='admin-bar-css' href='http://juplo.de/wp-includes/css/admin-bar.min.css?ver=3.6.1' type='text/css' media='all' />
-<link rel='stylesheet' id='style-css' href='http://juplo.de/wp-content/themes/juplo-theme/style.css?ver=3.6.1' type='text/css' media='all' />
-<script type='text/javascript' src='http://juplo.de/wp-includes/js/comment-reply.min.js?ver=3.6.1'></script>
-<script type='text/javascript' src='http://juplo.de/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script>
-<script type='text/javascript' src='http://juplo.de/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>
-<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://juplo.de/xmlrpc.php?rsd" />
-<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://juplo.de/wp-includes/wlwmanifest.xml" />
-<link rel='next' title='hibernate4-maven-plugin 1.0 released!' href='http://juplo.de/hibernate4-maven-plugin-1-0-released/' />
-<meta name="generator" content="WordPress 3.6.1" />
-<link rel='canonical' href='http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/' />
-<link rel='shortlink' href='http://juplo.de/?p=34' />
- <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
-<style type="text/css" media="print">#wpadminbar { display:none; }</style>
-<style type="text/css" media="screen">
- html { margin-top: 28px !important; }
- * html body { margin-top: 28px !important; }
-</style>
-
- <link rel="stylesheet" type="text/css" href="/css/base.css" />
- <style type="text/css">
- @import '/css/screen.css' screen and (min-width: 960px);
- @import '/css/phone.css' screen and (max-width: 599px);
- @import '/css/tiny.css' screen and (max-width: 399px);
- </style>
- <script src="/js/base.js"></script>
- <!--[if IE 8]>
- <script src="/js/ie8.js"></script>
- <![endif]-->
- <!--[if IE 7]>
- <script src="/js/ie7.js"></script>
- <![endif]-->
- <!--[if lt IE 7]>
- <script src="/js/ie6.js"></script>
- <![endif]-->
-
- </head>
- <body class="single single-post postid-34 single-format-standard logged-in admin-bar no-customize-support" onload="prettyPrint()">
- <div id="page">
- <header id="header">
- <a href="http://juplo.de/" title="juplo" rel="home" id="logo">juplo</a>
- <span id="slogan">Java bits from nerds for nerds</span>
- <hr class="h"/>
- </header>
- <div class="fc cols_2">
- <div class="content cf">
- <div id="content" class="main">
-
-<article id="post-34" class="post-34 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
- <div class="entry-header">
- <h1 class="entry-title">hibernate4-maven-plugin</h1>
-
- <div class="entry-meta">
- Posted on <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="19:29" rel="bookmark"><time class="entry-date" datetime="2012-11-28T19:29:12+00:00" pubdate>November 28, 2012</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span> </div><!-- .entry-meta -->
- </div><!-- .entry-header -->
-
- <div class="entry-content">
- <h2>A simple Plugin for generating a Database-Schema from Hibernate 4 Mapping-Annotations</h2>
-<p>
-Hibernate comes with the buildin functionality, to automatically create or update the database schema. This functionality is configured in the session-configuraton via the parameter <code>hbm2ddl.auto</code> (see <a href="http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html_single/#configuration-optional" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://docs.jboss.org']);">Hibernate Reference Documentation – Chapter 3.4. Optional configuration properties</a>). But doing so <a href="http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-production" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://stackoverflow.com']);">is not very wise</a>, because you can easily corrupt or erase your production database, if this configuration parameter slips through to your production environment.
-</p>
-<p>
-Alternatively, you can <a href="http://stackoverflow.com/questions/835961/how-to-creata-database-schema-using-hibernate" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://stackoverflow.com']);">run the tools <strong>SchemaExport</strong> or <strong>SchemaUpdate</strong> by hand</a>. But that is not very comfortable and being used to maven you will quickly long for a plugin, that does that job automatically for you, when you fire up your test cases.
-</p>
-<p>In the good old times, there was the <a href="http://mojo.codehaus.org/maven-hibernate3/hibernate3-maven-plugin/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mojo.codehaus.org']);">Maven Hibernate3 Plugin</a>, that does this for you. But unfortunatly, this plugin is not compatible with Hibernate 4.x. Since there does not seem to be any successor for the Maven Hibernate3 Plugin and <a href="http://www.google.de/search?q=hibernate4+maven+plugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.de']);">googeling</a> does not help, I decided to write up this simple plugin (inspired by these two articles I found: <a href="http://www.tikalk.com/alm/blog/schema-export-hibernate-4-and-maven" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.tikalk.com']);">Schema Export with Hibernate 4 and Maven</a> and <a href="http://doingenterprise.blogspot.de/2012/05/schema-generation-with-hibernate-4-jpa.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://doingenterprise.blogspot.de']);">Schema generation with Hibernate 4, JPA and Maven</a>).
-</p>
-<p>
-I hope, the resulting simple to use buletproof <a href="/hibernate4-maven-plugin/">hibernate4-maven-plugin</a> is usefull!
-</p>
-<p>
-<strong><a href="/hibernate4-maven-plugin/">Try it out now!</a></strong></p>
- </div><!-- .entry-content -->
-
- <footer class="entry-meta">
- This entry was posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>. Bookmark the <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="Permalink to hibernate4-maven-plugin" rel="bookmark">permalink</a>.
- </footer><!-- .entry-meta -->
-</article><!-- #post-34 -->
-
-<!-- You can start editing here. -->
-
- <h3 id="comments">15 Responses to “hibernate4-maven-plugin”</h3>
-
- <div class="navigation">
- <div class="alignleft"></div>
- <div class="alignright"></div>
- </div>
-
- <ol class="commentlist">
- <li class="comment even thread-even depth-1 parent" id="comment-556">
- <div id="div-comment-556" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">Jukes</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-556">
- November 7, 2013 at 23:18</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=556" title="Edit comment">(Edit)</a> </div>
-
- <p>Hi thanks a lot for making this plugin available, great work!!<br />
-I have a problem generating postgres schema. Looks like the plugin ignores the data type when adding default values and that yields a syntax error from Postgres. Or maybe I’m doing something wrong. I’m using version 1.0.3.</p>
-<p>For example I have in java:</p>
-<p> @Column(name = “financialEnabled”, nullable = false, columnDefinition = “default TRUE”)<br />
- private boolean financialEnabled;</p>
-<p>Generated SQL is:<br />
- financialEnabled default TRUE not null,</p>
-<p>As you can see the data type boolean is not translated to the SQL script. Thanks a lot for your help.</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=556#respond' onclick='return addComment.moveForm("div-comment-556", "556", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment byuser comment-author-kai bypostauthor odd alt depth-2" id="comment-567">
- <div id="div-comment-567" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-567">
- November 11, 2013 at 13:09</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=567" title="Edit comment">(Edit)</a> </div>
-
- <p>This plugin is only a tool to automate the generation of the SQL in your development-environment.<br />
-Questions on how to anotate your code correctly are better asked in a user-forum from hibernate or such.</p>
-<p>Nevertheless, I think I can give you a usefull hint:<br />
-You are overwriting the automatically generated column-definition with “default TRUE”.<br />
-Try it with</p>
-<p>@Column(name = “financialEnabled”, nullable = false)<br />
-private boolean financialEnabled;</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=567#respond' onclick='return addComment.moveForm("div-comment-567", "567", "respond", "34")'>Reply</a> </div>
- </div>
- </li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
- <li class="comment even thread-odd thread-alt depth-1 parent" id="comment-390">
- <div id="div-comment-390" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">Milios</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-390">
- October 10, 2013 at 15:02</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=390" title="Edit comment">(Edit)</a> </div>
-
- <p>Hi,</p>
-<p>looks like a very nice plugin. Unfortunately, part of our entities are in other modules/dependencies.<br />
-Do you plan to add the possibility to scan also for dependencies of the project or at least of the plugin?</p>
-<p>Also, when I only want to generate the SQL and use the following configuration, I got nothing.</p>
-<p>Config:</p>
-<p> de.juplo<br />
- hibernate4-maven-plugin<br />
- 1.0.2</p>
-<p> true<br />
- SCRIPT<br />
- NONE<br />
- com.deutscheboerse.hibernate.PostgreSQLDialect<br />
- ${project.build.directory}/hibernate4/cmm-schema.sql</p>
-<p> com.deutscheboerse.energy<br />
- energy-commons-hibernate<br />
- ${commons.hibernate.version}</p>
-<p> org.springframework.security<br />
- spring-security-core<br />
- ${spring.security.version}</p>
-<p> org.slf4j<br />
- slf4j-log4j12<br />
- ${slf4j.version}</p>
-<p>Output:<br />
-mvn hibernate4:export -e<br />
-[INFO] Error stacktraces are turned on.<br />
-[INFO] Scanning for projects…<br />
-[INFO]<br />
-[INFO] ————————————————————————<br />
-[INFO] Building CMM WAR 1.0.0-RC5-SNAPSHOT<br />
-[INFO] ————————————————————————<br />
-[INFO]<br />
-[INFO] — hibernate4-maven-plugin:1.0.2:export (default-cli) @ cmm-war —<br />
-[INFO] Scanning directory D:\_dev\work\ii\src\cmm\trunk\cmm-war\target\classes f<br />
-[INFO] No hibernate-properties-file found! (Checked path: D:\_dev\work\ii\src\cm<br />
-[INFO] Gathered hibernate-configuration (turn on debugging for details):<br />
-[INFO] hibernate.dialect = com.deutscheboerse.hibernate.PostgreSQLDialect<br />
-[INFO] HHH000400: Using dialect: com.deutscheboerse.hibernate.PostgreSQLDialect<br />
-[INFO] ————————————————————————<br />
-[INFO] BUILD SUCCESS<br />
-[INFO] ————————————————————————<br />
-[INFO] Total time: 10.932s<br />
-[INFO] Finished at: Thu Oct 10 12:51:05 UTC 2013<br />
-[INFO] Final Memory: 9M/23M<br />
-[INFO] ————————————————————————</p>
-<p>Thanks for any help,<br />
-Milos.</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=390#respond' onclick='return addComment.moveForm("div-comment-390", "390", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment byuser comment-author-kai bypostauthor odd alt depth-2 parent" id="comment-391">
- <div id="div-comment-391" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-391">
- October 10, 2013 at 22:19</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=391" title="Edit comment">(Edit)</a> </div>
-
- <p>Yes, I am working on the possibility, to scan for annotations in dependencies.<br />
-Unfortunatly, I have no example-project for this use-case by hand.<br />
-It would help a lot, if you could provide a sample-project on github or such.</p>
-<p>Greetings kai</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=391#respond' onclick='return addComment.moveForm("div-comment-391", "391", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment byuser comment-author-kai bypostauthor even depth-3" id="comment-568">
- <div id="div-comment-568" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-568">
- November 11, 2013 at 13:11</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=568" title="Edit comment">(Edit)</a> </div>
-
- <p>Version 1.0.3 of the plugin can now scan for annotations in the dependencies, too.</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=568#respond' onclick='return addComment.moveForm("div-comment-568", "568", "respond", "34")'>Reply</a> </div>
- </div>
- </li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
- <li class="comment odd alt thread-even depth-1" id="comment-286">
- <div id="div-comment-286" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">Pedro</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-286">
- August 7, 2013 at 18:54</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=286" title="Edit comment">(Edit)</a> </div>
-
- <p>Following my previous question, here is the debug info</p>
-<p>[DEBUG] Dependency: /Users/pmarques/.m2/repository/org/springframework/security/spring-security-acl/3.1.4.RELEASE/spring-security-acl-3.1.4.RELEASE.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/atomikos-util/3.6.5/atomikos-util-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-api/3.6.5/transactions-api-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/javax/transaction/transaction-api/1.1/transaction-api-1.1.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc-deprecated/3.6.5/transactions-jdbc-deprecated-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc/3.6.5/transactions-jdbc-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jta/3.6.5/transactions-jta-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions/3.6.5/transactions-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms-deprecated/3.6.5/transactions-jms-deprecated-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms/3.6.5/transactions-jms-3.6.5.jar<br />
-[DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-hibernate3/3.6.5/transactions-hibernate3-3.6.5.jar<br />
-[INFO] Scanning directory /target/classes for annotated classes…</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=286#respond' onclick='return addComment.moveForm("div-comment-286", "286", "respond", "34")'>Reply</a> </div>
- </div>
- </li><!-- #comment-## -->
- <li class="comment even thread-odd thread-alt depth-1 parent" id="comment-285">
- <div id="div-comment-285" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">Pedro</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-285">
- August 7, 2013 at 18:49</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=285" title="Edit comment">(Edit)</a> </div>
-
- <p>Hi,</p>
-<p>I have the following problem.<br />
-The project that I use to test (and use the plugin) has the annotated classes as a dependency.<br />
-I am getting the error:<br />
-No annotated classes found in directory /target/classes</p>
-<p>Shouldn’t the plugin scan all the dependencies also?</p>
-<p>Thanks,<br />
-Pedro.</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=285#respond' onclick='return addComment.moveForm("div-comment-285", "285", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment byuser comment-author-kai bypostauthor odd alt depth-2 parent" id="comment-287">
- <div id="div-comment-287" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-287">
- August 7, 2013 at 19:12</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=287" title="Edit comment">(Edit)</a> </div>
-
- <p>Hi Pedro,</p>
-<p>I think, that your observation is right.<br />
-But otherwise, dependencies should only be scanned if requested, because automatic scanning of the dependencies might lead to errors in other situations.</p>
-<p>If you can make your project available to me (for example via github, or simply by mailing zipped version), I would add a configuration-parameter to enable/disable dependency-scanning and upload the refined plugin to central.</p>
-<p>Regards,</p>
-<p>Kai Moritz</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=287#respond' onclick='return addComment.moveForm("div-comment-287", "287", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment byuser comment-author-kai bypostauthor even depth-3" id="comment-426">
- <div id="div-comment-426" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-426">
- October 18, 2013 at 02:52</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=426" title="Edit comment">(Edit)</a> </div>
-
- <p>The <a href="/hibernate4-maven-plugin-1-0-3-released/" title="Open the release-notes" rel="nofollow">new version 1.0.3</a> of the plugin adds support for annotated classes in dependencies!</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=426#respond' onclick='return addComment.moveForm("div-comment-426", "426", "respond", "34")'>Reply</a> </div>
- </div>
- </li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
- <li class="comment odd alt thread-even depth-1 parent" id="comment-276">
- <div id="div-comment-276" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn"><a href="http://bidlogix.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-commentauthor','http://bidlogix.com']);" rel='external nofollow' class='url'>mike</a></cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-276">
- July 30, 2013 at 12:57</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=276" title="Edit comment">(Edit)</a> </div>
-
- <p>Hello,</p>
-<p>I’m upgrading from hibernate3 to to hibernate4 and have moved from the hibernate3-maven-plugin to this version. I haven’t undertaken (and don’t want to just yet) the big job of changing my hbm mapping files to annotations.</p>
-<p>As far as I can see this is a show stopper for using your nice plugin. Can you please confirm if this is the case and whether you are planning to add support for scanning for hbm files?</p>
-<p>Many thanks,</p>
-<p>Mike Cohen.</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=276#respond' onclick='return addComment.moveForm("div-comment-276", "276", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment byuser comment-author-tortenheber even depth-2" id="comment-277">
- <div id="div-comment-277" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">tortenheber</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-277">
- July 31, 2013 at 23:18</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=277" title="Edit comment">(Edit)</a> </div>
-
- <p>Hello Mike,</p>
-<p>I added the requested feature in the SNAPSHOT-version.<br />
-It would be nice, if you could test, if the new feature works, because I have no example project by hand, that still uses hibernate-mapping via XML.</p>
-<p>You can download an actual build here:</p>
-<p><a href="https://oss.sonatype.org/content/repositories/snapshots//de/juplo/hibernate4-maven-plugin/1.0.2-SNAPSHOT/" onclick="javascript:_gaq.push(['_trackEvent','outbound-comment','http://oss.sonatype.org']);" rel="nofollow">https://oss.sonatype.org/content/repositories/snapshots//de/juplo/hibernate4-maven-plugin/1.0.2-SNAPSHOT/</a></p>
-<p>or build it by yourself from the sources.<br />
-The feature is documented here:</p>
-<p><a href="http://juplo.de/hibernate4-maven-plugin-1.0.2-SNAPSHOT/export-mojo.html" rel="nofollow">http://juplo.de/hibernate4-maven-plugin-1.0.2-SNAPSHOT/export-mojo.html</a></p>
-<p>Best regards</p>
-<p>kai</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=277#respond' onclick='return addComment.moveForm("div-comment-277", "277", "respond", "34")'>Reply</a> </div>
- </div>
- </li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
- <li class="comment odd alt thread-odd thread-alt depth-1 parent" id="comment-50">
- <div id="div-comment-50" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">Victor</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-50">
- February 22, 2013 at 15:28</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=50" title="Edit comment">(Edit)</a> </div>
-
- <p>Hey I have modified your code to support envers and generate auditing tables, if you want I can send you a patch. Thanks!</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=50#respond' onclick='return addComment.moveForm("div-comment-50", "50", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment even depth-2 parent" id="comment-51">
- <div id="div-comment-51" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">admin</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-51">
- February 22, 2013 at 19:54</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=51" title="Edit comment">(Edit)</a> </div>
-
- <p>Your welcom.<br />
-Send it!</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=51#respond' onclick='return addComment.moveForm("div-comment-51", "51", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment odd alt depth-3 parent" id="comment-54">
- <div id="div-comment-54" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">Victor</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-54">
- February 25, 2013 at 15:28</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=54" title="Edit comment">(Edit)</a> </div>
-
- <p>Where to? Is there a github repo?</p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=54#respond' onclick='return addComment.moveForm("div-comment-54", "54", "respond", "34")'>Reply</a> </div>
- </div>
- <ul class="children">
- <li class="comment even depth-4" id="comment-55">
- <div id="div-comment-55" class="comment-body">
- <div class="comment-author vcard">
- <cite class="fn">admin</cite> <span class="says">says:</span> </div>
-
- <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-55">
- February 25, 2013 at 20:05</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=55" title="Edit comment">(Edit)</a> </div>
-
- <p>There is a private git-Repository.<br />
-<a href="http://juplo.de/hibernate4-maven-plugin/source-repository.html" rel="nofollow">Check the project-documentation!</a></p>
-<p>You can <a href="http://juplo.de/hibernate4-maven-plugin/team-list.html" rel="nofollow">send me</a> a patch or a pull-request to <a href="mailto:kai@juplo.de">kai@juplo.de</a></p>
-
- <div class="reply">
- <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=55#respond' onclick='return addComment.moveForm("div-comment-55", "55", "respond", "34")'>Reply</a> </div>
- </div>
- </li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
-</ul><!-- .children -->
-</li><!-- #comment-## -->
- </ol>
-
- <div class="navigation">
- <div class="alignleft"></div>
- <div class="alignright"></div>
- </div>
-
-
-<div id="respond">
-
-<h3>Leave a Reply</h3>
-
-<div id="cancel-comment-reply">
- <small><a rel="nofollow" id="cancel-comment-reply-link" href="/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#respond" style="display:none;">Click here to cancel reply.</a></small>
-</div>
-
-
-<form action="http://juplo.de/wp-comments-post.php" method="post" id="commentform">
-
-
-<p>Logged in as <a href="http://juplo.de/wp-admin/profile.php">Kai Moritz</a>. <a href="http://juplo.de/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fjuplo.de%2Fhibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations%2F&_wpnonce=09e5cb501d" title="Log out of this account">Log out »</a></p>
-
-
-<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> </code></small></p>-->
-
-<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
-
-<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
-<input type='hidden' name='comment_post_ID' value='34' id='comment_post_ID' />
-<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
-</p>
-<input type="hidden" id="_wp_unfiltered_html_comment_disabled" name="_wp_unfiltered_html_comment_disabled" value="2cfe5768bb" /><script>(function(){if(window===window.parent){document.getElementById('_wp_unfiltered_html_comment_disabled').name='_wp_unfiltered_html_comment';}})();</script>
-<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="18eb674233" /></p>
-</form>
-
-</div>
-
- </div>
- <div class="marginal">
- <nav id="nav">
- <hr />
- <a id="navigation"></a>
- </nav>
- <div id="secondary" class="widget-area" role="complementary">
- <aside id="archives" class="widget">
- <h1 class="widget-title">Archives</h1>
- <ul>
- <li><a href='http://juplo.de/2013/12/' title='December 2013'>December 2013</a></li>
- <li><a href='http://juplo.de/2013/10/' title='October 2013'>October 2013</a></li>
- <li><a href='http://juplo.de/2013/08/' title='August 2013'>August 2013</a></li>
- <li><a href='http://juplo.de/2013/01/' title='January 2013'>January 2013</a></li>
- <li><a href='http://juplo.de/2012/11/' title='November 2012'>November 2012</a></li>
- </ul>
- </aside>
- <aside id="categories" class="widget">
- <h1 class="widget-title">Most Used Categories</h1>
- <ul>
- <li class="cat-item cat-item-4"><a href="http://juplo.de/category/java/" title="View all posts filed under Java">Java</a> (7)
-</li>
- <li class="cat-item cat-item-8"><a href="http://juplo.de/category/maven/" title="View all posts filed under Maven">Maven</a> (7)
-</li>
- <li class="cat-item cat-item-6"><a href="http://juplo.de/category/hibernate/" title="View all posts filed under Hibernate">Hibernate</a> (6)
-</li>
- <li class="cat-item cat-item-9"><a href="http://juplo.de/category/jpa/" title="View all posts filed under JPA">JPA</a> (1)
-</li>
- <li class="cat-item cat-item-10"><a href="http://juplo.de/category/appengine/" title="View all posts filed under appengine">appengine</a> (1)
-</li>
- <li class="cat-item cat-item-11"><a href="http://juplo.de/category/oauth2/" title="View all posts filed under oauth2">oauth2</a> (1)
-</li>
- <li class="cat-item cat-item-12"><a href="http://juplo.de/category/jetty/" title="View all posts filed under Jetty">Jetty</a> (1)
-</li>
- <li class="cat-item cat-item-13"><a href="http://juplo.de/category/wro4j/" title="View all posts filed under wro4j">wro4j</a> (1)
-</li>
- <li class="cat-item cat-item-14"><a href="http://juplo.de/category/less/" title="View all posts filed under less">less</a> (1)
-</li>
- </ul>
- </aside>
- <aside id="search" class="widget widget_search">
- <h1 class="widget-title">Search</h1>
- <form role="search" method="get" id="searchform" class="searchform" action="http://juplo.de/">
- <div>
- <label class="screen-reader-text" for="s">Search for:</label>
- <input type="text" value="" name="s" id="s" />
- <input type="submit" id="searchsubmit" value="Search" />
- </div>
- </form> </aside>
- </div><!-- #secondary .widget-area -->
- <div id="tertiary" class="widget-area" role="supplementary">
- </div><!-- #tertiary .widget-area -->
-
- </div>
-
- </div>
- </div>
- <footer id="footer">
- <hr />
- <ul id="footerlinks">
- <li class="f" id="copyright">© <strong>mo</strong> 2013</li>
- </ul>
- </footer>
- </div>
- </body>
-</html>
-
--- /dev/null
+<%@page contentType="text/html;charset=UTF-8"%>
+<%@page pageEncoding="UTF-8"%>
+<%@page session="false" %>
+<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="t" %>
+<%@taglib uri="http://www.springframework.org/tags" prefix="s"%>
+<s:url var="base" value="/" />
+<t:insertDefinition name="BASEPAGE">
+ <t:putAttribute name="title" value="" type="string"/>
+ <t:putAttribute name="breadcrumb">
+ <li class="b"><a class="b" href="${base}index.html">Home</a></li>
+ <li class="b"><strong class="b">Blog</strong></li>
+ </t:putAttribute>
+ <t:putAttribute name="navigation" type="string">
+ <h1 class="nav">Navigation</h1>
+ <h2 class="nav menu">Section-Menu</h2>
+ <ul id="menu">
+ <li class="m blog"><strong class="m">Blog</strong></li>
+ <li class="m projects"><a href="${base}projects.html" class="m">Projects</a></li>
+ </ul>
+ </t:putAttribute>
+ <t:putAttribute name="maincontent" type="string">
+ <article id="post-34" class="post-34 post type-post status-publish format-standard hentry category-hibernate category-java category-maven">
+ <div class="entry-header">
+ <h1 class="entry-title">hibernate4-maven-plugin</h1>
+ <div class="entry-meta">
+ Posted on <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="19:29" rel="bookmark"><time class="entry-date" datetime="2012-11-28T19:29:12+00:00" pubdate>November 28, 2012</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="http://juplo.de/author/kai/" title="View all posts by Kai Moritz" rel="author">Kai Moritz</a></span></span>
+ </div><!-- .entry-meta -->
+ </div><!-- .entry-header -->
+ <div class="entry-content">
+ <h2>A simple Plugin for generating a Database-Schema from Hibernate 4 Mapping-Annotations</h2>
+ <p>
+ Hibernate comes with the buildin functionality, to automatically create or update the database schema. This functionality is configured in the session-configuraton via the parameter <code>hbm2ddl.auto</code> (see <a href="http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html_single/#configuration-optional" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://docs.jboss.org']);">Hibernate Reference Documentation – Chapter 3.4. Optional configuration properties</a>). But doing so <a href="http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-production" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://stackoverflow.com']);">is not very wise</a>, because you can easily corrupt or erase your production database, if this configuration parameter slips through to your production environment.
+ </p>
+ <p>
+ Alternatively, you can <a href="http://stackoverflow.com/questions/835961/how-to-creata-database-schema-using-hibernate" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://stackoverflow.com']);">run the tools <strong>SchemaExport</strong> or <strong>SchemaUpdate</strong> by hand</a>. But that is not very comfortable and being used to maven you will quickly long for a plugin, that does that job automatically for you, when you fire up your test cases.
+ </p>
+ <p>In the good old times, there was the <a href="http://mojo.codehaus.org/maven-hibernate3/hibernate3-maven-plugin/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mojo.codehaus.org']);">Maven Hibernate3 Plugin</a>, that does this for you. But unfortunatly, this plugin is not compatible with Hibernate 4.x. Since there does not seem to be any successor for the Maven Hibernate3 Plugin and <a href="http://www.google.de/search?q=hibernate4+maven+plugin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.de']);">googeling</a> does not help, I decided to write up this simple plugin (inspired by these two articles I found: <a href="http://www.tikalk.com/alm/blog/schema-export-hibernate-4-and-maven" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.tikalk.com']);">Schema Export with Hibernate 4 and Maven</a> and <a href="http://doingenterprise.blogspot.de/2012/05/schema-generation-with-hibernate-4-jpa.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://doingenterprise.blogspot.de']);">Schema generation with Hibernate 4, JPA and Maven</a>).
+ </p>
+ <p>
+ I hope, the resulting simple to use buletproof <a href="/hibernate4-maven-plugin/">hibernate4-maven-plugin</a> is usefull!
+ </p>
+ <p>
+ <strong><a href="/hibernate4-maven-plugin/">Try it out now!</a></strong></p>
+ </div><!-- .entry-content -->
+ <footer class="entry-meta">
+ This entry was posted in <a href="http://juplo.de/category/hibernate/" title="View all posts in Hibernate" rel="category tag">Hibernate</a>, <a href="http://juplo.de/category/java/" title="View all posts in Java" rel="category tag">Java</a>, <a href="http://juplo.de/category/maven/" title="View all posts in Maven" rel="category tag">Maven</a>. Bookmark the <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/" title="Permalink to hibernate4-maven-plugin" rel="bookmark">permalink</a>.
+ </footer><!-- .entry-meta -->
+ </article><!-- #post-34 -->
+ <!-- You can start editing here. -->
+ <h3 id="comments">15 Responses to “hibernate4-maven-plugin”</h3>
+ <div class="navigation">
+ <div class="alignleft"></div>
+ <div class="alignright"></div>
+ </div>
+ <ol class="commentlist">
+ <li class="comment even thread-even depth-1 parent" id="comment-556">
+ <div id="div-comment-556" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">Jukes</cite> <span class="says">says:</span>
+ </div>
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-556">
+ November 7, 2013 at 23:18</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=556" title="Edit comment">(Edit)</a>
+ </div>
+ <p>
+ Hi thanks a lot for making this plugin available, great work!!<br />
+ I have a problem generating postgres schema. Looks like the plugin ignores the data type when adding default values and that yields a syntax error from Postgres. Or maybe I’m doing something wrong. I’m using version 1.0.3.</p>
+ <p>For example I have in java:</p>
+ <p>
+ @Column(name = “financialEnabled”, nullable = false, columnDefinition = “default TRUE”)<br />
+ private boolean financialEnabled;
+ </p>
+ <p>
+ Generated SQL is:<br />
+ financialEnabled default TRUE not null,
+ </p>
+ <p>As you can see the data type boolean is not translated to the SQL script. Thanks a lot for your help.</p>
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=556#respond' onclick='return addComment.moveForm("div-comment-556", "556", "respond", "34")'>Reply</a>
+ </div>
+ </div>
+ <ul class="children">
+ <li class="comment byuser comment-author-kai bypostauthor odd alt depth-2" id="comment-567">
+ <div id="div-comment-567" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span>
+ </div>
+ <div class="comment-meta commentmetadata">
+ <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-567">
+ November 11, 2013 at 13:09</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=567" title="Edit comment">(Edit)
+ </a>
+ </div>
+ <p>
+ This plugin is only a tool to automate the generation of the SQL in your development-environment.<br />
+ Questions on how to anotate your code correctly are better asked in a user-forum from hibernate or such.</p>
+ <p>
+ Nevertheless, I think I can give you a usefull hint:<br />
+ You are overwriting the automatically generated column-definition with “default TRUE”.<br />
+ Try it with</p>
+ <p>
+ @Column(name = “financialEnabled”, nullable = false)<br />
+ private boolean financialEnabled;</p>
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=567#respond' onclick='return addComment.moveForm("div-comment-567", "567", "respond", "34")'>Reply</a>
+ </div>
+ </div>
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ <li class="comment even thread-odd thread-alt depth-1 parent" id="comment-390">
+ <div id="div-comment-390" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">Milios</cite> <span class="says">says:</span>
+ </div>
+ <div class="comment-meta commentmetadata">
+ <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-390">
+ October 10, 2013 at 15:02
+ </a>
+
+ <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=390" title="Edit comment">(Edit)</a>
+ </div>
+ <p>Hi,</p>
+ <p>
+ looks like a very nice plugin. Unfortunately, part of our entities are in other modules/dependencies.<br />
+ Do you plan to add the possibility to scan also for dependencies of the project or at least of the plugin?</p>
+ <p>Also, when I only want to generate the SQL and use the following configuration, I got nothing.</p>
+ <p>Config:</p>
+ <p>
+ de.juplo<br />
+ hibernate4-maven-plugin<br />
+ 1.0.2</p>
+ <p>
+ true<br />
+ SCRIPT<br />
+ NONE<br />
+ com.deutscheboerse.hibernate.PostgreSQLDialect<br />
+ ${project.build.directory}/hibernate4/cmm-schema.sql</p>
+ <p>
+ com.deutscheboerse.energy<br />
+ energy-commons-hibernate<br />
+ ${commons.hibernate.version}</p>
+ <p>
+ org.springframework.security<br />
+ spring-security-core<br />
+ ${spring.security.version}</p>
+ <p>
+ org.slf4j<br />
+ slf4j-log4j12<br />
+ ${slf4j.version}</p>
+ <p>
+ Output:<br />
+ mvn hibernate4:export -e<br />
+ [INFO] Error stacktraces are turned on.<br />
+ [INFO] Scanning for projects…<br />
+ [INFO]<br />
+ [INFO] ————————————————————————<br />
+ [INFO] Building CMM WAR 1.0.0-RC5-SNAPSHOT<br />
+ [INFO] ————————————————————————<br />
+ [INFO]<br />
+ [INFO] — hibernate4-maven-plugin:1.0.2:export (default-cli) @ cmm-war —<br />
+ [INFO] Scanning directory D:\_dev\work\ii\src\cmm\trunk\cmm-war\target\classes f<br />
+ [INFO] No hibernate-properties-file found! (Checked path: D:\_dev\work\ii\src\cm<br />
+ [INFO] Gathered hibernate-configuration (turn on debugging for details):<br />
+ [INFO] hibernate.dialect = com.deutscheboerse.hibernate.PostgreSQLDialect<br />
+ [INFO] HHH000400: Using dialect: com.deutscheboerse.hibernate.PostgreSQLDialect<br />
+ [INFO] ————————————————————————<br />
+ [INFO] BUILD SUCCESS<br />
+ [INFO] ————————————————————————<br />
+ [INFO] Total time: 10.932s<br />
+ [INFO] Finished at: Thu Oct 10 12:51:05 UTC 2013<br />
+ [INFO] Final Memory: 9M/23M<br />
+ [INFO] ————————————————————————</p>
+ <p>
+ Thanks for any help,<br />
+ Milos.
+ </p>
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=390#respond' onclick='return addComment.moveForm("div-comment-390", "390", "respond", "34")'>Reply</a>
+ </div>
+ </div>
+ <ul class="children">
+ <li class="comment byuser comment-author-kai bypostauthor odd alt depth-2 parent" id="comment-391">
+ <div id="div-comment-391" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span>
+ </div>
+ <div class="comment-meta commentmetadata">
+ <a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-391">
+ October 10, 2013 at 22:19
+ </a>
+
+ <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=391" title="Edit comment">(Edit)</a> </div>
+ <p>
+ Yes, I am working on the possibility, to scan for annotations in dependencies.<br />
+ Unfortunatly, I have no example-project for this use-case by hand.<br />
+ It would help a lot, if you could provide a sample-project on github or such.
+ </p>
+ <p>Greetings kai</p>
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=391#respond' onclick='return addComment.moveForm("div-comment-391", "391", "respond", "34")'>Reply</a>
+ </div>
+ </div>
+ <ul class="children">
+ <li class="comment byuser comment-author-kai bypostauthor even depth-3" id="comment-568">
+ <div id="div-comment-568" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span>
+ </div>
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-568">
+ November 11, 2013 at 13:11</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=568" title="Edit comment">(Edit)</a> </div>
+
+ <p>Version 1.0.3 of the plugin can now scan for annotations in the dependencies, too.</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=568#respond' onclick='return addComment.moveForm("div-comment-568", "568", "respond", "34")'>Reply</a> </div>
+ </div>
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ <li class="comment odd alt thread-even depth-1" id="comment-286">
+ <div id="div-comment-286" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">Pedro</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-286">
+ August 7, 2013 at 18:54</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=286" title="Edit comment">(Edit)</a> </div>
+
+ <p>Following my previous question, here is the debug info</p>
+ <p>[DEBUG] Dependency: /Users/pmarques/.m2/repository/org/springframework/security/spring-security-acl/3.1.4.RELEASE/spring-security-acl-3.1.4.RELEASE.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/atomikos-util/3.6.5/atomikos-util-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-api/3.6.5/transactions-api-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/javax/transaction/transaction-api/1.1/transaction-api-1.1.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc-deprecated/3.6.5/transactions-jdbc-deprecated-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc/3.6.5/transactions-jdbc-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jta/3.6.5/transactions-jta-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions/3.6.5/transactions-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms-deprecated/3.6.5/transactions-jms-deprecated-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms/3.6.5/transactions-jms-3.6.5.jar<br />
+ [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-hibernate3/3.6.5/transactions-hibernate3-3.6.5.jar<br />
+ [INFO] Scanning directory /target/classes for annotated classes…</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=286#respond' onclick='return addComment.moveForm("div-comment-286", "286", "respond", "34")'>Reply</a> </div>
+ </div>
+ </li><!-- #comment-## -->
+ <li class="comment even thread-odd thread-alt depth-1 parent" id="comment-285">
+ <div id="div-comment-285" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">Pedro</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-285">
+ August 7, 2013 at 18:49</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=285" title="Edit comment">(Edit)</a> </div>
+
+ <p>Hi,</p>
+ <p>I have the following problem.<br />
+ The project that I use to test (and use the plugin) has the annotated classes as a dependency.<br />
+ I am getting the error:<br />
+ No annotated classes found in directory /target/classes</p>
+ <p>Shouldn’t the plugin scan all the dependencies also?</p>
+ <p>Thanks,<br />
+ Pedro.</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=285#respond' onclick='return addComment.moveForm("div-comment-285", "285", "respond", "34")'>Reply</a> </div>
+ </div>
+ <ul class="children">
+ <li class="comment byuser comment-author-kai bypostauthor odd alt depth-2 parent" id="comment-287">
+ <div id="div-comment-287" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-287">
+ August 7, 2013 at 19:12</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=287" title="Edit comment">(Edit)</a> </div>
+
+ <p>Hi Pedro,</p>
+ <p>I think, that your observation is right.<br />
+ But otherwise, dependencies should only be scanned if requested, because automatic scanning of the dependencies might lead to errors in other situations.</p>
+ <p>If you can make your project available to me (for example via github, or simply by mailing zipped version), I would add a configuration-parameter to enable/disable dependency-scanning and upload the refined plugin to central.</p>
+ <p>Regards,</p>
+ <p>Kai Moritz</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=287#respond' onclick='return addComment.moveForm("div-comment-287", "287", "respond", "34")'>Reply</a> </div>
+ </div>
+ <ul class="children">
+ <li class="comment byuser comment-author-kai bypostauthor even depth-3" id="comment-426">
+ <div id="div-comment-426" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn"><a href="http://juplo.de" rel='external nofollow' class='url'>Kai Moritz</a></cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-426">
+ October 18, 2013 at 02:52</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=426" title="Edit comment">(Edit)</a> </div>
+
+ <p>The <a href="/hibernate4-maven-plugin-1-0-3-released/" title="Open the release-notes" rel="nofollow">new version 1.0.3</a> of the plugin adds support for annotated classes in dependencies!</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=426#respond' onclick='return addComment.moveForm("div-comment-426", "426", "respond", "34")'>Reply</a> </div>
+ </div>
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ <li class="comment odd alt thread-even depth-1 parent" id="comment-276">
+ <div id="div-comment-276" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn"><a href="http://bidlogix.com" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-commentauthor', 'http://bidlogix.com']);" rel='external nofollow' class='url'>mike</a></cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-276">
+ July 30, 2013 at 12:57</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=276" title="Edit comment">(Edit)</a> </div>
+
+ <p>Hello,</p>
+ <p>I’m upgrading from hibernate3 to to hibernate4 and have moved from the hibernate3-maven-plugin to this version. I haven’t undertaken (and don’t want to just yet) the big job of changing my hbm mapping files to annotations.</p>
+ <p>As far as I can see this is a show stopper for using your nice plugin. Can you please confirm if this is the case and whether you are planning to add support for scanning for hbm files?</p>
+ <p>Many thanks,</p>
+ <p>Mike Cohen.</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=276#respond' onclick='return addComment.moveForm("div-comment-276", "276", "respond", "34")'>Reply</a> </div>
+ </div>
+ <ul class="children">
+ <li class="comment byuser comment-author-tortenheber even depth-2" id="comment-277">
+ <div id="div-comment-277" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">tortenheber</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-277">
+ July 31, 2013 at 23:18</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=277" title="Edit comment">(Edit)</a> </div>
+
+ <p>Hello Mike,</p>
+ <p>I added the requested feature in the SNAPSHOT-version.<br />
+ It would be nice, if you could test, if the new feature works, because I have no example project by hand, that still uses hibernate-mapping via XML.</p>
+ <p>You can download an actual build here:</p>
+ <p><a href="https://oss.sonatype.org/content/repositories/snapshots//de/juplo/hibernate4-maven-plugin/1.0.2-SNAPSHOT/" onclick="javascript:_gaq.push(['_trackEvent', 'outbound-comment', 'http://oss.sonatype.org']);" rel="nofollow">https://oss.sonatype.org/content/repositories/snapshots//de/juplo/hibernate4-maven-plugin/1.0.2-SNAPSHOT/</a></p>
+ <p>or build it by yourself from the sources.<br />
+ The feature is documented here:</p>
+ <p><a href="http://juplo.de/hibernate4-maven-plugin-1.0.2-SNAPSHOT/export-mojo.html" rel="nofollow">http://juplo.de/hibernate4-maven-plugin-1.0.2-SNAPSHOT/export-mojo.html</a></p>
+ <p>Best regards</p>
+ <p>kai</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=277#respond' onclick='return addComment.moveForm("div-comment-277", "277", "respond", "34")'>Reply</a> </div>
+ </div>
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ <li class="comment odd alt thread-odd thread-alt depth-1 parent" id="comment-50">
+ <div id="div-comment-50" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">Victor</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-50">
+ February 22, 2013 at 15:28</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=50" title="Edit comment">(Edit)</a> </div>
+
+ <p>Hey I have modified your code to support envers and generate auditing tables, if you want I can send you a patch. Thanks!</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=50#respond' onclick='return addComment.moveForm("div-comment-50", "50", "respond", "34")'>Reply</a> </div>
+ </div>
+ <ul class="children">
+ <li class="comment even depth-2 parent" id="comment-51">
+ <div id="div-comment-51" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">admin</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-51">
+ February 22, 2013 at 19:54</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=51" title="Edit comment">(Edit)</a> </div>
+
+ <p>Your welcom.<br />
+ Send it!</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=51#respond' onclick='return addComment.moveForm("div-comment-51", "51", "respond", "34")'>Reply</a> </div>
+ </div>
+ <ul class="children">
+ <li class="comment odd alt depth-3 parent" id="comment-54">
+ <div id="div-comment-54" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">Victor</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-54">
+ February 25, 2013 at 15:28</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=54" title="Edit comment">(Edit)</a> </div>
+
+ <p>Where to? Is there a github repo?</p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=54#respond' onclick='return addComment.moveForm("div-comment-54", "54", "respond", "34")'>Reply</a> </div>
+ </div>
+ <ul class="children">
+ <li class="comment even depth-4" id="comment-55">
+ <div id="div-comment-55" class="comment-body">
+ <div class="comment-author vcard">
+ <cite class="fn">admin</cite> <span class="says">says:</span> </div>
+
+ <div class="comment-meta commentmetadata"><a href="http://juplo.de/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#comment-55">
+ February 25, 2013 at 20:05</a> <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&c=55" title="Edit comment">(Edit)</a> </div>
+
+ <p>There is a private git-Repository.<br />
+ <a href="http://juplo.de/hibernate4-maven-plugin/source-repository.html" rel="nofollow">Check the project-documentation!</a></p>
+ <p>You can <a href="http://juplo.de/hibernate4-maven-plugin/team-list.html" rel="nofollow">send me</a> a patch or a pull-request to <a href="mailto:kai@juplo.de">kai@juplo.de</a></p>
+
+ <div class="reply">
+ <a class='comment-reply-link' href='/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/?replytocom=55#respond' onclick='return addComment.moveForm("div-comment-55", "55", "respond", "34")'>Reply</a> </div>
+ </div>
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ </ul><!-- .children -->
+ </li><!-- #comment-## -->
+ </ol>
+
+ <div class="navigation">
+ <div class="alignleft"></div>
+ <div class="alignright"></div>
+ </div>
+
+
+ <div id="respond">
+
+ <h3>Leave a Reply</h3>
+
+ <div id="cancel-comment-reply">
+ <small><a rel="nofollow" id="cancel-comment-reply-link" href="/hibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations/#respond" style="display:none;">Click here to cancel reply.</a></small>
+ </div>
+
+
+ <form action="http://juplo.de/wp-comments-post.php" method="post" id="commentform">
+
+
+ <p>Logged in as <a href="http://juplo.de/wp-admin/profile.php">Kai Moritz</a>. <a href="http://juplo.de/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fjuplo.de%2Fhibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations%2F&_wpnonce=09e5cb501d" title="Log out of this account">Log out »</a></p>
+
+
+ <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> </code></small></p>-->
+
+ <p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
+
+ <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
+ <input type='hidden' name='comment_post_ID' value='34' id='comment_post_ID' />
+ <input type='hidden' name='comment_parent' id='comment_parent' value='0' />
+ </p>
+ <input type="hidden" id="_wp_unfiltered_html_comment_disabled" name="_wp_unfiltered_html_comment_disabled" value="2cfe5768bb" /><script>(function() {
+ if (window === window.parent) {
+ document.getElementById('_wp_unfiltered_html_comment_disabled').name = '_wp_unfiltered_html_comment';
+ }
+ })();</script>
+ <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="18eb674233" /></p>
+ </form>
+
+ </t:putAttribute>
+ <t:putAttribute name="marginalcontent" type="string">
+ <div id="secondary" class="widget-area" role="complementary">
+ <aside id="archives" class="widget">
+ <h1 class="widget-title">Archives</h1>
+ <ul>
+ <li><a href='http://juplo.de/2013/10/' title='October 2013'>October 2013</a></li>
+ <li><a href='http://juplo.de/2013/08/' title='August 2013'>August 2013</a></li>
+ <li><a href='http://juplo.de/2013/01/' title='January 2013'>January 2013</a></li>
+ <li><a href='http://juplo.de/2012/11/' title='November 2012'>November 2012</a></li>
+ </ul>
+ </aside>
+ <aside id="categories" class="widget">
+ <h1 class="widget-title">Most Used Categories</h1>
+ <ul>
+ <li class="cat-item cat-item-4"><a href="http://juplo.de/category/java/" title="View all posts filed under Java">Java</a> (6)</li>
+ <li class="cat-item cat-item-6"><a href="http://juplo.de/category/hibernate/" title="View all posts filed under Hibernate">Hibernate</a> (5)</li>
+ <li class="cat-item cat-item-8"><a href="http://juplo.de/category/maven/" title="View all posts filed under Maven">Maven</a> (5)</li>
+ <li class="cat-item cat-item-9"><a href="http://juplo.de/category/jpa/" title="View all posts filed under JPA">JPA</a> (1)</li>
+ <li class="cat-item cat-item-10"><a href="http://juplo.de/category/appengine/" title="View all posts filed under appengine">appengine</a> (1)</li>
+ <li class="cat-item cat-item-11"><a href="http://juplo.de/category/oauth2/" title="View all posts filed under oauth2">oauth2</a> (1)</li>
+ </ul>
+ </aside>
+ <aside id="search" class="widget widget_search">
+ <h1 class="widget-title">Search</h1>
+ <form role="search" method="get" id="searchform" class="searchform" action="http://juplo.de/">
+ <div>
+ <label class="screen-reader-text" for="s">Search for:</label>
+ <input type="text" value="" name="s" id="s" />
+ <input type="submit" id="searchsubmit" value="Search" />
+ </div>
+ </form>
+ </aside>
+ </div><!-- #secondary .widget-area -->
+ <div id="tertiary" class="widget-area" role="supplementary">
+ </div><!-- #tertiary .widget-area -->
+ </t:putAttribute>
+</t:insertDefinition>