Blog-Beispiele so geändert, dass die URLs denen von Wordpress gleichen
authorKai Moritz <kai@juplo.de>
Sat, 21 Nov 2020 20:37:27 +0000 (21:37 +0100)
committerKai Moritz <kai@juplo.de>
Sun, 22 Nov 2020 16:16:25 +0000 (17:16 +0100)
* Wordpress liefert alle Seiten als Verzeichnisse aus (Endung "/")
* Wenn die eigentlichen Seiten in einer index.html in einem Verzeichnis
  abgelegt werden, dass dem Pfad unter Wordpress entspricht, liefern
  http-server und nginx die Inhalte für die URLs aus, die auch später
  verwendet werden

16 files changed:
dist/about.html
dist/blog/article.html [deleted file]
dist/blog/article/index.html [new file with mode: 0644]
dist/blog/blog.json
dist/blog/comments.html [deleted file]
dist/blog/comments/index.html [new file with mode: 0644]
dist/blog/index.html
dist/index.html
dist/potemkin/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html
dist/potemkin/html-experimente/fast-leer-einspaltig.html
dist/potemkin/html-experimente/fast-leer-kein-menü-aber-marginalinhalt.html
dist/potemkin/html-experimente/fast-leer-kein-menü.html
dist/sitemap.json
dist/templates/404.html
dist/templates/error.html
dist/templates/layout.html

index 676188c..442ce98 100644 (file)
@@ -42,7 +42,7 @@
       </p>
       <ul>
         <li>
-          In the <a href="blog" th:href="@{/blog}">blog</a>, I summarize, how I solved
+          In the <a href="blog/" th:href="@{/blog/}">blog</a>, I summarize, how I solved
           some every-day problems, other people might stumble across too.
           I am introducing new projects there and announcing new versions and/or
           bugfixes to older projects.
diff --git a/dist/blog/article.html b/dist/blog/article.html
deleted file mode 100644 (file)
index 6142711..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-<!DOCTYPE html>
-<html
-    xmlns="http://www.w3.org/1999/xhtml"
-    th:replace="~{/templates/layout.html :: layout(
-      uri='/blog/article.html',
-      title=~{:: title},
-      maincontent=~{:: .maincontent},
-      marginalcontent=~{:: .marginalcontent}, json='MERGE:/blog/blog.json')}"
-    >
-  <head>
-    <title id="title">juplo - blog - Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources</title>
-    <!--/*-->
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <link rel="stylesheet" type="text/css" href="../css/base.css"/>
-    <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen"/>
-    <link rel="stylesheet" type="text/css" href="../css/print.css" media="print"/>
-    <!--*/-->
-  </head>
-  <body>
-    <article class="maincontent">
-      <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">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.csscss.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.csscss.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.csscss.org/#usage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.csscss.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 &#8211; which is best for development &#8211; and the pre-compiled mode &#8211; which is best for production. For the client-side mode you need something like:</p>
-          <pre class="prettyprint linenums">
-  <code class="html">
-  &lt;link rel="stylesheet" type="text/css" href="styles.css" /&gt;
-  &lt;script src="less.js" type="text/javascript"&gt;&lt;/script&gt;
-  </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">
-  &lt;link rel="stylesheet" type="text/css" href="styles.css" /&gt;
-  </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&#8217;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">
-  &lt;groups xmlns="http://www.isdc.ro/wro"&gt;
-    &lt;group name="base"&gt;
-      &lt;css&gt;/css/base/*.css&lt;/css&gt;
-    &lt;/group&gt;
-  </code>
-          </pre>
-          <p>wro4j looks for <code>/css/base/*.css</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>*.css</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&#8217;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>&lt;overrideDescriptor&gt;</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>&lt;overrideDescriptor&gt;</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">
-  &lt;plugin&gt;
-    &lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;
-    &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
-    &lt;configuration&gt;
-      &lt;webApp&gt;
-        &lt;overrideDescriptor&gt;${project.basedir}/src/test/resources/jetty-web.xml&lt;/overrideDescriptor&gt;
-      &lt;/webApp&gt;
-    &lt;/configuration&gt;
-    &lt;dependencies&gt;
-      &lt;dependency&gt;
-        &lt;groupId&gt;ro.isdc.wro4j&lt;/groupId&gt;
-        &lt;artifactId&gt;wro4j-core&lt;/artifactId&gt;
-        &lt;version&gt;${wro4j.version}&lt;/version&gt;
-      &lt;/dependency&gt;
-      &lt;dependency&gt;
-        &lt;groupId&gt;ro.isdc.wro4j&lt;/groupId&gt;
-        &lt;artifactId&gt;wro4j-extensions&lt;/artifactId&gt;
-        &lt;version&gt;${wro4j.version}&lt;/version&gt;
-        &lt;exclusions&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
-              &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;
-              &lt;artifactId&gt;commons-lang3&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;commons-io&lt;/groupId&gt;
-              &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;commons-pool&lt;/groupId&gt;
-              &lt;artifactId&gt;commons-pool&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
-              &lt;artifactId&gt;spring-web&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;com.google.code.gson&lt;/groupId&gt;
-              &lt;artifactId&gt;gson&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;com.google.javascript&lt;/groupId&gt;
-              &lt;artifactId&gt;closure-compiler&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;com.github.lltyk&lt;/groupId&gt;
-              &lt;artifactId&gt;dojo-shrinksafe&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.jruby&lt;/groupId&gt;
-              &lt;artifactId&gt;jruby-core&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-            &lt;groupId&gt;org.jruby&lt;/groupId&gt;
-            &lt;artifactId&gt;jruby-stdlib&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.jruby&lt;/groupId&gt;
-              &lt;artifactId&gt;jruby-stdlib&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;me.n4u.sass&lt;/groupId&gt;
-              &lt;artifactId&gt;sass-gems&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;nz.co.edmi&lt;/groupId&gt;
-              &lt;artifactId&gt;bourbon-gem-jar&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.codehaus.gmaven.runtime&lt;/groupId&gt;
-              &lt;artifactId&gt;gmaven-runtime-1.7&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;jshint&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;less&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;emberjs&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;handlebars&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;coffee-script&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;jslint&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;json2&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-          &lt;exclusion&gt;
-              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
-              &lt;artifactId&gt;jquery&lt;/artifactId&gt;
-          &lt;/exclusion&gt;
-        &lt;/exclusions&gt;
-      &lt;/dependency&gt;
-    &lt;/dependencies&gt;
-  &lt;/plugin&gt;
-  </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">
-  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
-  &lt;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"&gt;
-    &lt;filter&gt;
-      &lt;filter-name&gt;wro&lt;/filter-name&gt;
-      &lt;filter-class&gt;ro.isdc.wro.http.WroFilter&lt;/filter-class&gt;
-    &lt;/filter&gt;
-    &lt;filter-mapping&gt;
-      &lt;filter-name&gt;wro&lt;/filter-name&gt;
-      &lt;url-pattern&gt;*.css&lt;/url-pattern&gt;
-    &lt;/filter-mapping&gt;
-  &lt;/web-app&gt;
-  </code>
-          </pre>
-          <p>The filter processes any URI&#8217;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/css/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">
-  &lt;plugin&gt;
-    &lt;groupId&gt;ro.isdc.wro4j&lt;/groupId&gt;
-    &lt;artifactId&gt;wro4j-maven-plugin&lt;/artifactId&gt;
-    &lt;version&gt;${wro4j.version}&lt;/version&gt;
-    &lt;configuration&gt;
-      &lt;wroManagerFactory&gt;ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory&lt;/wroManagerFactory&gt;
-      &lt;cssDestinationFolder&gt;${project.build.directory}/${project.build.finalName}/css/&lt;/cssDestinationFolder&gt;
-    &lt;/configuration&gt;
-    &lt;executions&gt;
-      &lt;execution&gt;
-        &lt;phase&gt;package&lt;/phase&gt;
-        &lt;goals&gt;
-          &lt;goal&gt;run&lt;/goal&gt;
-        &lt;/goals&gt;
-      &lt;/execution&gt;
-    &lt;/executions&gt;
-  &lt;/plugin&gt;
-  </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>&lt;cssDestinationFolder&gt;</code>-tag tells wro4j, where it should put the generated CSS-file. You can adjust that to suite your needs.</p>
-          <p>That&#8217;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">
-  &lt;plugin&gt;
-    &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
-    &lt;configuration&gt;
-      &lt;warSourceExcludes&gt;
-        WEB-INF/wro.*,
-        less/**
-      &lt;/warSourceExcludes&gt;
-    &lt;/configuration&gt;
-  &lt;/plugin&gt;
-  </code>
-          </pre>
-          <h3>What&#8217;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/css/" 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&amp;redirect_to=http%3A%2F%2Fjuplo.de%2Fcombining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources%2F&amp;_wpnonce=09e5cb501d" title="Log out of this account">Log out &raquo;</a></p>
-          <!--<p><small><strong>XHTML:</strong> You can use these tags: <code>&lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </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>
-    </article>
-    <aside class="marginalcontent">
-      <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 -->
-    </aside>
-  </body>
-</html>
diff --git a/dist/blog/article/index.html b/dist/blog/article/index.html
new file mode 100644 (file)
index 0000000..bcc2b7e
--- /dev/null
@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html
+    xmlns="http://www.w3.org/1999/xhtml"
+    th:replace="~{/templates/layout.html :: layout(
+      uri='/blog/article/',
+      title=~{:: title},
+      maincontent=~{:: .maincontent},
+      marginalcontent=~{:: .marginalcontent}, json='MERGE:/blog/blog.json')}"
+    >
+  <head>
+    <title id="title">juplo - blog - Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources</title>
+    <!--/*-->
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <link rel="stylesheet" type="text/css" href="../css/base.css"/>
+    <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen"/>
+    <link rel="stylesheet" type="text/css" href="../css/print.css" media="print"/>
+    <!--*/-->
+  </head>
+  <body>
+    <article class="maincontent">
+      <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">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.csscss.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.csscss.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.csscss.org/#usage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.csscss.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 &#8211; which is best for development &#8211; and the pre-compiled mode &#8211; which is best for production. For the client-side mode you need something like:</p>
+          <pre class="prettyprint linenums">
+  <code class="html">
+  &lt;link rel="stylesheet" type="text/css" href="styles.css" /&gt;
+  &lt;script src="less.js" type="text/javascript"&gt;&lt;/script&gt;
+  </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">
+  &lt;link rel="stylesheet" type="text/css" href="styles.css" /&gt;
+  </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&#8217;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">
+  &lt;groups xmlns="http://www.isdc.ro/wro"&gt;
+    &lt;group name="base"&gt;
+      &lt;css&gt;/css/base/*.css&lt;/css&gt;
+    &lt;/group&gt;
+  </code>
+          </pre>
+          <p>wro4j looks for <code>/css/base/*.css</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>*.css</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&#8217;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>&lt;overrideDescriptor&gt;</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>&lt;overrideDescriptor&gt;</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">
+  &lt;plugin&gt;
+    &lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;
+    &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
+    &lt;configuration&gt;
+      &lt;webApp&gt;
+        &lt;overrideDescriptor&gt;${project.basedir}/src/test/resources/jetty-web.xml&lt;/overrideDescriptor&gt;
+      &lt;/webApp&gt;
+    &lt;/configuration&gt;
+    &lt;dependencies&gt;
+      &lt;dependency&gt;
+        &lt;groupId&gt;ro.isdc.wro4j&lt;/groupId&gt;
+        &lt;artifactId&gt;wro4j-core&lt;/artifactId&gt;
+        &lt;version&gt;${wro4j.version}&lt;/version&gt;
+      &lt;/dependency&gt;
+      &lt;dependency&gt;
+        &lt;groupId&gt;ro.isdc.wro4j&lt;/groupId&gt;
+        &lt;artifactId&gt;wro4j-extensions&lt;/artifactId&gt;
+        &lt;version&gt;${wro4j.version}&lt;/version&gt;
+        &lt;exclusions&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
+              &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;
+              &lt;artifactId&gt;commons-lang3&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;commons-io&lt;/groupId&gt;
+              &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;commons-pool&lt;/groupId&gt;
+              &lt;artifactId&gt;commons-pool&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
+              &lt;artifactId&gt;spring-web&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;com.google.code.gson&lt;/groupId&gt;
+              &lt;artifactId&gt;gson&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;com.google.javascript&lt;/groupId&gt;
+              &lt;artifactId&gt;closure-compiler&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;com.github.lltyk&lt;/groupId&gt;
+              &lt;artifactId&gt;dojo-shrinksafe&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.jruby&lt;/groupId&gt;
+              &lt;artifactId&gt;jruby-core&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+            &lt;groupId&gt;org.jruby&lt;/groupId&gt;
+            &lt;artifactId&gt;jruby-stdlib&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.jruby&lt;/groupId&gt;
+              &lt;artifactId&gt;jruby-stdlib&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;me.n4u.sass&lt;/groupId&gt;
+              &lt;artifactId&gt;sass-gems&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;nz.co.edmi&lt;/groupId&gt;
+              &lt;artifactId&gt;bourbon-gem-jar&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.codehaus.gmaven.runtime&lt;/groupId&gt;
+              &lt;artifactId&gt;gmaven-runtime-1.7&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;jshint&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;less&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;emberjs&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;handlebars&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;coffee-script&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;jslint&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;json2&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+          &lt;exclusion&gt;
+              &lt;groupId&gt;org.webjars&lt;/groupId&gt;
+              &lt;artifactId&gt;jquery&lt;/artifactId&gt;
+          &lt;/exclusion&gt;
+        &lt;/exclusions&gt;
+      &lt;/dependency&gt;
+    &lt;/dependencies&gt;
+  &lt;/plugin&gt;
+  </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">
+  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
+  &lt;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"&gt;
+    &lt;filter&gt;
+      &lt;filter-name&gt;wro&lt;/filter-name&gt;
+      &lt;filter-class&gt;ro.isdc.wro.http.WroFilter&lt;/filter-class&gt;
+    &lt;/filter&gt;
+    &lt;filter-mapping&gt;
+      &lt;filter-name&gt;wro&lt;/filter-name&gt;
+      &lt;url-pattern&gt;*.css&lt;/url-pattern&gt;
+    &lt;/filter-mapping&gt;
+  &lt;/web-app&gt;
+  </code>
+          </pre>
+          <p>The filter processes any URI&#8217;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/css/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">
+  &lt;plugin&gt;
+    &lt;groupId&gt;ro.isdc.wro4j&lt;/groupId&gt;
+    &lt;artifactId&gt;wro4j-maven-plugin&lt;/artifactId&gt;
+    &lt;version&gt;${wro4j.version}&lt;/version&gt;
+    &lt;configuration&gt;
+      &lt;wroManagerFactory&gt;ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory&lt;/wroManagerFactory&gt;
+      &lt;cssDestinationFolder&gt;${project.build.directory}/${project.build.finalName}/css/&lt;/cssDestinationFolder&gt;
+    &lt;/configuration&gt;
+    &lt;executions&gt;
+      &lt;execution&gt;
+        &lt;phase&gt;package&lt;/phase&gt;
+        &lt;goals&gt;
+          &lt;goal&gt;run&lt;/goal&gt;
+        &lt;/goals&gt;
+      &lt;/execution&gt;
+    &lt;/executions&gt;
+  &lt;/plugin&gt;
+  </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>&lt;cssDestinationFolder&gt;</code>-tag tells wro4j, where it should put the generated CSS-file. You can adjust that to suite your needs.</p>
+          <p>That&#8217;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">
+  &lt;plugin&gt;
+    &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
+    &lt;configuration&gt;
+      &lt;warSourceExcludes&gt;
+        WEB-INF/wro.*,
+        less/**
+      &lt;/warSourceExcludes&gt;
+    &lt;/configuration&gt;
+  &lt;/plugin&gt;
+  </code>
+          </pre>
+          <h3>What&#8217;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/css/" 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&amp;redirect_to=http%3A%2F%2Fjuplo.de%2Fcombining-jetty-maven-plugin-and-wro4j-maven-plugin-for-dynamic-reloading-of-less-resources%2F&amp;_wpnonce=09e5cb501d" title="Log out of this account">Log out &raquo;</a></p>
+          <!--<p><small><strong>XHTML:</strong> You can use these tags: <code>&lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </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>
+    </article>
+    <aside class="marginalcontent">
+      <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 -->
+    </aside>
+  </body>
+</html>
index 74fb826..e090608 100644 (file)
@@ -1,25 +1,25 @@
 {
   "_titles": {
-    "/blog/article.html": "An Article",
-    "/blog/comments.html":"Comments"
+    "/blog/article/": "An Article",
+    "/blog/comments/":"Comments"
   },
   "_childs": {
-    "/blog": [
-      "/blog/article.html",
-      "/blog/comments.html"
+    "/blog/": [
+      "/blog/article/",
+      "/blog/comments/"
     ]
   },
   "_crumbs": {
-    "/blog": [
-      "/blog"
+    "/blog/": [
+      "/blog/"
     ],
-    "/blog/article.html": [
-      "/blog",
-      "/blog/article.html"
+    "/blog/article/": [
+      "/blog/",
+      "/blog/article/"
     ],
-    "/blog/comments.html": [
-      "/blog",
-      "/blog/comments.html"
+    "/blog/comments/": [
+      "/blog/",
+      "/blog/comments/"
     ]
   }
 }
diff --git a/dist/blog/comments.html b/dist/blog/comments.html
deleted file mode 100644 (file)
index 5f7316a..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-<!DOCTYPE html>
-<html
-    xmlns="http://www.w3.org/1999/xhtml"
-    th:replace="~{/templates/layout.html :: layout(
-      uri='/blog/comments.html',
-      title=~{:: title},
-      maincontent=~{:: .maincontent},
-      marginalcontent=~{:: .marginalcontent}, json='MERGE:/blog/blog.json')}"
-    >
-  <head>
-    <title id="title">juplo - blog - hibernate4-maven-plugin</title>
-    <!--/*-->
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <link rel="stylesheet" type="text/css" href="../css/base.css"/>
-    <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen"/>
-    <link rel="stylesheet" type="text/css" href="../css/print.css" media="print"/>
-    <!--*/-->
-  </head>
-  <body>
-    <article class="maincontent">
-      <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">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 &#8211; 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 &#8220;hibernate4-maven-plugin&#8221;</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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8217;m doing something wrong. I&#8217;m using version 1.0.3.</p>
-            <p>For example I have in java:</p>
-            <p>
-              @Column(name = &#8220;financialEnabled&#8221;, nullable = false, columnDefinition = &#8220;default TRUE&#8221;)<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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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 &#8220;default TRUE&#8221;.<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>
-              &nbsp;&nbsp;
-              <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8230;<br />
-              [INFO]<br />
-              [INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
-              [INFO] Building CMM WAR 1.0.0-RC5-SNAPSHOT<br />
-              [INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
-              [INFO]<br />
-              [INFO] &#8212; hibernate4-maven-plugin:1.0.2:export (default-cli) @ cmm-war &#8212;<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] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
-              [INFO] BUILD SUCCESS<br />
-              [INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<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] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</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>
-                  &nbsp;&nbsp;
-                  <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8230;</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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8217;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;c=276" title="Edit comment">(Edit)</a>            </div>
-  
-            <p>Hello,</p>
-            <p>I&#8217;m upgrading from hibernate3 to to hibernate4 and have moved from the hibernate3-maven-plugin to this version. I haven&#8217;t undertaken (and don&#8217;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&amp;redirect_to=http%3A%2F%2Fjuplo.de%2Fhibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations%2F&amp;_wpnonce=09e5cb501d" title="Log out of this account">Log out &raquo;</a></p>
-  
-  
-          <!--<p><small><strong>XHTML:</strong> You can use these tags: <code>&lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </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>
-    </article>
-    <aside class="marginalcontent">
-      <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 -->
-    </aside>
-  </body>
-</html>
diff --git a/dist/blog/comments/index.html b/dist/blog/comments/index.html
new file mode 100644 (file)
index 0000000..87c04ff
--- /dev/null
@@ -0,0 +1,490 @@
+<!DOCTYPE html>
+<html
+    xmlns="http://www.w3.org/1999/xhtml"
+    th:replace="~{/templates/layout.html :: layout(
+      uri='/blog/comments/',
+      title=~{:: title},
+      maincontent=~{:: .maincontent},
+      marginalcontent=~{:: .marginalcontent}, json='MERGE:/blog/blog.json')}"
+    >
+  <head>
+    <title id="title">juplo - blog - hibernate4-maven-plugin</title>
+    <!--/*-->
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <link rel="stylesheet" type="text/css" href="../css/base.css"/>
+    <link rel="stylesheet" type="text/css" href="../css/screen.css" media="screen"/>
+    <link rel="stylesheet" type="text/css" href="../css/print.css" media="print"/>
+    <!--*/-->
+  </head>
+  <body>
+    <article class="maincontent">
+      <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">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 &#8211; 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 &#8220;hibernate4-maven-plugin&#8221;</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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8217;m doing something wrong. I&#8217;m using version 1.0.3.</p>
+            <p>For example I have in java:</p>
+            <p>
+              @Column(name = &#8220;financialEnabled&#8221;, nullable = false, columnDefinition = &#8220;default TRUE&#8221;)<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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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 &#8220;default TRUE&#8221;.<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>
+              &nbsp;&nbsp;
+              <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8230;<br />
+              [INFO]<br />
+              [INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
+              [INFO] Building CMM WAR 1.0.0-RC5-SNAPSHOT<br />
+              [INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
+              [INFO]<br />
+              [INFO] &#8212; hibernate4-maven-plugin:1.0.2:export (default-cli) @ cmm-war &#8212;<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] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
+              [INFO] BUILD SUCCESS<br />
+              [INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<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] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</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>
+                  &nbsp;&nbsp;
+                  <a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8230;</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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&#8217;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;c=276" title="Edit comment">(Edit)</a>            </div>
+  
+            <p>Hello,</p>
+            <p>I&#8217;m upgrading from hibernate3 to to hibernate4 and have moved from the hibernate3-maven-plugin to this version. I haven&#8217;t undertaken (and don&#8217;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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>&nbsp;&nbsp;<a class="comment-edit-link" href="http://juplo.de/wp-admin/comment.php?action=editcomment&amp;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&amp;redirect_to=http%3A%2F%2Fjuplo.de%2Fhibernate4-maven-plugin-a-simple-plugin-for-generating-a-database-schema-from-hibernate-4-mapping-annotations%2F&amp;_wpnonce=09e5cb501d" title="Log out of this account">Log out &raquo;</a></p>
+  
+  
+          <!--<p><small><strong>XHTML:</strong> You can use these tags: <code>&lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </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>
+    </article>
+    <aside class="marginalcontent">
+      <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 -->
+    </aside>
+  </body>
+</html>
index ebf431a..287f577 100644 (file)
@@ -2,7 +2,7 @@
 <html
     xmlns="http://www.w3.org/1999/xhtml"
     th:replace="~{/templates/layout.html :: layout(
-      uri='/blog',
+      uri='/blog/',
       title=~{:: title},
       maincontent=~{:: .maincontent},
       marginalcontent=~{:: .marginalcontent}, json='MERGE:/blog/blog.json')}"
index c3a042f..9add093 100644 (file)
@@ -29,7 +29,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="projects.html" th:href="@{/projects.html}" class="m">Projects</a></li>
         <li class="m about"><a href="about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index 81cc37a..2cee18d 100644 (file)
@@ -23,7 +23,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="../blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="../blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="../projects.html" th:href="@{/projects.html}" class="m selected">Projects</a></li>
         <li class="m about"><a href="../about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index cff54d2..61ba66d 100644 (file)
@@ -23,7 +23,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="../blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="../blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="../projects.html" th:href="@{/projects.html}" class="m selected">Projects</a></li>
         <li class="m about"><a href="../about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index d19fd32..4ba20f5 100644 (file)
@@ -23,7 +23,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="../blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="../blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="../projects.html" th:href="@{/projects.html}" class="m selected">Projects</a></li>
         <li class="m about"><a href="../about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index 501fc3c..1280a18 100644 (file)
@@ -23,7 +23,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="../blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="../blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="../projects.html" th:href="@{/projects.html}" class="m selected">Projects</a></li>
         <li class="m about"><a href="../about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index 735cd1c..a573ec9 100644 (file)
@@ -1,12 +1,12 @@
 {
   "_sections": {
-    "blog": "/blog",
+    "blog": "/blog/",
     "projects": "/projects.html",
     "about": "/about.html"
   },
   "_titles": {
     "/index.html": "Home",
-    "/blog": "Blog",
+    "/blog/": "Blog",
     "/projects.html": "Projects",
     "/about.html": "About",
     "/expertise.html": "Expertise",
index 2735d0d..5f977e9 100644 (file)
@@ -27,7 +27,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="../blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="../blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="../projects" th:href="@{/projects.html}" class="m">Projects</a></li>
         <li class="m about"><a href="../about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index 5b378d8..cdf9c3c 100644 (file)
@@ -27,7 +27,7 @@
       <h1 class="nav">Navigation</h1>
       <h2 class="nav menu">Section-Menu</h2>
       <ul id="menu" class="cf">
-        <li class="m blog"><a href="../blog" th:href="@{/blog}" class="m">Blog</a></li>
+        <li class="m blog"><a href="../blog/" th:href="@{/blog/}" class="m">Blog</a></li>
         <li class="m projects"><a href="../projects" th:href="@{/projects.html}" class="m">Projects</a></li>
         <li class="m about"><a href="../about.html" th:href="@{/about.html}" class="m">About</a></li>
       </ul>
index 0b8c457..e6af340 100644 (file)
             <h2 class="nav menu">Section-Menu</h2>
             <ul id="menu" class="cf">
               <li class="m blog" th:each="entry : ${_sections}" th:class="'m ' + ${entry.key}">
-                <a href="../blog" th:href="@{${entry.value}}" class="m" th:class="${entry.value == section} ? 'm selected' : 'm'" th:text="${_titles.get(entry.value)}">Blog</a>
+                <a href="../blog/" th:href="@{${entry.value}}" class="m" th:class="${entry.value == section} ? 'm selected' : 'm'" th:text="${_titles.get(entry.value)}">Blog</a>
               </li>
               <!--/*-->
               <li class="m projects"><a href="../projects.html" class="m selected">Projects</a></li>