<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8721690124410059059</id><updated>2025-09-04T01:19:04.670-07:00</updated><category term="fedora"/><category term="serveur"/><category term="Google"/><category term="OCR"/><category term="eclipse"/><category term="gwt"/><category term="hibernate"/><category term="iText"/><category term="maven"/><category term="spring"/><title type='text'>blt-creW</title><subtitle type='html'>Linux, Programmation, Java et GWT</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8721690124410059059.post-650085775680805252</id><published>2011-02-04T22:36:00.000-08:00</published><updated>2011-05-03T01:55:08.011-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><title type='text'>Debugger avec Maven</title><content type='html'>Une technique toute simple pour débugger un projet web avec maven 2, celui-ci nécessite tout de même que votre projet comporte le plugin tomcat ou jetty.&lt;br /&gt;
&lt;br /&gt;
lien :&amp;nbsp;&lt;a href=&quot;http://blog.kadirpekel.com/2009/11/09/debugging-through-maven-tomcat-plugin-by-eclipse/&quot;&gt;http://blog.kadirpekel.com/2009/11/09/debugging-through-maven-tomcat-plugin-by-eclipse/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Pour résumé :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;line alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; color: #585858; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;table style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;content&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: initial !important; border-left-style: none !important; border-left-width: initial !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;i&gt;$YOUR_MVN_PRJ_HOME $&amp;gt; echo -e &#39;export MAVEN_OPTS=&quot;-Xdebug&amp;nbsp;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;i&gt;           -Xnoagent -Djava.compiler=NONE&amp;nbsp;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;i&gt;           -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000&quot;\nmvn $@&#39;&amp;nbsp;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;i&gt;           &amp;gt; mvn-debug&lt;/i&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class=&quot;line alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: #585858; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;table style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;content&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-color: initial !important; border-left-style: none !important; border-left-width: initial !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;i&gt;$YOUR_MVN_PRJ_HOME $&amp;gt; chmod +x mvn-debug&lt;/i&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class=&quot;line alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; height: auto !important; left: auto !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;syntaxhighlighter nogutter  &quot; id=&quot;highlighter_25834&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-color: rgb(224, 224, 224) !important; border-bottom-style: none !important; border-bottom-width: 1px !important; border-color: initial !important; border-color: initial !important; border-left-color: rgb(224, 224, 224) !important; border-left-style: none !important; border-left-width: 1px !important; border-right-color: rgb(224, 224, 224) !important; border-right-style: none !important; border-right-width: 1px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: none !important; border-top-width: 1px !important; border-width: initial !important; bottom: auto !important; direction: ltr !important; float: none !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 504px;&quot;&gt;&lt;div class=&quot;lines no-wrap&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; color: #585858; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: &#39;Times New Roman&#39;; font-size: small; line-height: normal;&quot;&gt;&amp;nbsp;puis ..&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;br /&gt;
&lt;table style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; color: #585858; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;content&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: initial !important; border-left-style: none !important; border-left-width: initial !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;i&gt;$YOUR_MVN_PRJ_HOME $&amp;gt; ./mvn-debug tomcat:run&lt;/i&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: inherit;&quot;&gt;Ou si vous utilisez Jetty :&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;syntaxhighlighter nogutter  &quot; id=&quot;highlighter_159360&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-color: rgb(224, 224, 224) !important; border-bottom-style: none !important; border-bottom-width: 1px !important; border-color: initial !important; border-color: initial !important; border-left-color: rgb(224, 224, 224) !important; border-left-style: none !important; border-left-width: 1px !important; border-right-color: rgb(224, 224, 224) !important; border-right-style: none !important; border-right-width: 1px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: none !important; border-top-width: 1px !important; border-width: initial !important; bottom: auto !important; direction: ltr !important; float: none !important; height: auto !important; left: auto !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 504px;&quot;&gt;&lt;div class=&quot;lines no-wrap&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; height: auto !important; left: auto !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: #585858; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;table style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;content&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: initial !important; border-left-style: none !important; border-left-width: initial !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;i&gt;$YOUR_MVN_PRJ_HOME $&amp;gt; ./mvn-debug jetty:run&lt;/i&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class=&quot;line alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; height: auto !important; left: auto !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;br /&gt;
Ensuite vous n&#39;avez plus qu&#39;à y attacher votre&amp;nbsp;débugger&amp;nbsp;Eclipse !&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/650085775680805252/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://blt-crew.blogspot.com/2011/02/debugger-avec-maven.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/650085775680805252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/650085775680805252'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/2011/02/debugger-avec-maven.html' title='Debugger avec Maven'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8721690124410059059.post-899884169935434839</id><published>2011-01-04T14:33:00.000-08:00</published><updated>2011-02-04T22:50:09.215-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fedora"/><category scheme="http://www.blogger.com/atom/ns#" term="serveur"/><title type='text'>Hudson/Jenkins Tips !</title><content type='html'>&lt;u&gt;Changer le port d&#39;Hudson après une installation via RPM sur un linux :&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
En root éditez le&amp;nbsp;$HTTP_PORT dans :&amp;nbsp;/etc/sysconfig/hudson&lt;br /&gt;
ou maintenant avec Jenkins :&amp;nbsp;/etc/sysconfig/jenkins&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Stopper hudson :&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;br /&gt;
Accédez au manager, puis ajoutez exit à votre chemin : http://jenkins_url/exit&lt;br /&gt;
Ceci mettra fin au service jenkins !</content><link rel='replies' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/899884169935434839/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://blt-crew.blogspot.com/2011/01/changer-le-port-de-hudson.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/899884169935434839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/899884169935434839'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/2011/01/changer-le-port-de-hudson.html' title='Hudson/Jenkins Tips !'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8721690124410059059.post-6843344134415475966</id><published>2010-12-13T19:49:00.000-08:00</published><updated>2010-12-13T19:49:29.538-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gwt"/><title type='text'>Travailler avec plusieurs projets GWT sous Eclipse</title><content type='html'>Si vous voulez faire un projet partagé avec plusieurs autres, votre petite API quoi, vous devez forcément en GWT créer deux modules. C&#39;est comme ça que sont faites toutes les apis du type gxt, mosaic, gwt-dnd ..&lt;br /&gt;
Voici un petit exemple pour créer deux projets gwt, l&#39;un héritant de l&#39;autre, puis l&#39;upload sur App Engine :&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1)&lt;/b&gt; Créez un Java Project classique, ce sera le projet &quot;api&quot;. Ajoutez le sdk gwt depuis le plugin, puis créez votre module xxx.gwt.xml. Il n&#39;a pas besoin d&#39;entry-point car il n&#39;a pas vocation à être directement intégré à une page html.&lt;br /&gt;
Vous pouvez maintenant placer vos widgets ou je ne sais quoi dans un package nommé client.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijpME7UTtG1OfUdsgHRp1fjcewDJhNJI0tzYoo2dLl3eld81Eqrm7Aiv-z_gMBOcDjPY0JGKk1zSEnIItfdnYe-KoxXizDwxAgnChAeINOC9vJifOJbw_UBkFKuaEZLa07sTKxG23qj4w/s1600/blog_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;313&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijpME7UTtG1OfUdsgHRp1fjcewDJhNJI0tzYoo2dLl3eld81Eqrm7Aiv-z_gMBOcDjPY0JGKk1zSEnIItfdnYe-KoxXizDwxAgnChAeINOC9vJifOJbw_UBkFKuaEZLa07sTKxG23qj4w/s640/blog_1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;2)&lt;/b&gt; Créez maintenant votre projet à deployer sur app engine, je&amp;nbsp;l’appellerais&amp;nbsp;&quot;app&quot;.&lt;br /&gt;
Il faut cette fois faire un nouveau projet Web Application, ajoutez lui les sdk gwt et appengine&lt;br /&gt;
Le module contenant votre entry-point devra hérité de &quot;api&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYUO6ZtG6udg9m0YlIRcKXEV0kLojM4rGKolwJxrwEviNuRosJ1bDaHhzqz5b8WGaKSmMoZsgCifzJI3ksExfAfJrI2gv2xhhIPR05mg5An4X2it9PcKUmkeaY9vaa-9Zkk7ApJn-3yyk/s1600/blog_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;296&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYUO6ZtG6udg9m0YlIRcKXEV0kLojM4rGKolwJxrwEviNuRosJ1bDaHhzqz5b8WGaKSmMoZsgCifzJI3ksExfAfJrI2gv2xhhIPR05mg5An4X2it9PcKUmkeaY9vaa-9Zkk7ApJn-3yyk/s640/blog_2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Maintenant, c&#39;est un peu ici le piège, le fait d&#39;ajouter votre projet &quot;api&quot; en dépendance dans le build path de &quot;app&quot; fonctionne pour la compilation, mais vous aurez surement une erreur au run-time du type&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #555555; font-family: Verdana, &#39;BitStream vera Sans&#39;, Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 17px;&quot;&gt;&lt;b&gt;java.lang.NoClassDefFoundError&lt;/b&gt;&lt;/span&gt;, sur l&#39;une de vos classes provenant de &quot;api&quot;.&lt;br /&gt;
La technique est de ne pas mettre une dépendance du projet, mais ajouter le dossier &quot;src&quot; de &quot;api&quot; en tant que source de &quot;app&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrzr8s1CSrOgqfG7Lz05yZtBf2UID2lf5dLo_GBQUHeo9iCrY0cXBKi3QaL6cOlNKLis7hTrOr-5kV_YjOLoXDlmiOrf3JL7yvFyhkrRrHBh1JX_LU7yBg9kBHaYT1xvVqLJe0QDqhtPU/s1600/blog_22.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;440&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrzr8s1CSrOgqfG7Lz05yZtBf2UID2lf5dLo_GBQUHeo9iCrY0cXBKi3QaL6cOlNKLis7hTrOr-5kV_YjOLoXDlmiOrf3JL7yvFyhkrRrHBh1JX_LU7yBg9kBHaYT1xvVqLJe0QDqhtPU/s640/blog_22.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;C&#39;est peut-être&amp;nbsp;optionnel, mais dans les debug configs, vous pouvez ajouter dans l&#39;onglet &quot;classpath&quot; le projet &quot;api&quot; :&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_GkHXW8kpakUmbWJa3MMO_9CJGfeuhegomwmsHyiekA3b2RsJ_ntl57XU2DK1GnNBW3LQ68-JOl0dN4JmVMRrOOJvsf7vtlnNjJSbun4LXEkeYwD3IUXLEvbQIWUV8MTifldunNEQHVE/s1600/blog_21.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;501&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_GkHXW8kpakUmbWJa3MMO_9CJGfeuhegomwmsHyiekA3b2RsJ_ntl57XU2DK1GnNBW3LQ68-JOl0dN4JmVMRrOOJvsf7vtlnNjJSbun4LXEkeYwD3IUXLEvbQIWUV8MTifldunNEQHVE/s640/blog_21.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Vous pouvez donc maintenant utiliser depuis &quot;app&quot; les widgets et classes de &quot;api&quot;, et ceci sans avoir à recompiler et inclure le jar dans les libs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3) &lt;/b&gt;Faites un petit &quot;Hello World&quot; dans votre projet &quot;app&quot; qui utilise du code de votre second projet, et déployez le sur App Engine.&lt;br /&gt;
Si vous prenez un &quot;&lt;b&gt;[ERROR] Module has no entry points defined&lt;/b&gt;&quot;, c&#39;est parce que le plugin va essayer de compiler votre le module &quot;api&quot;, or votre &quot;app&quot; en hérite, ce qui est suffisant pour le compilateur.&lt;br /&gt;
Il vous faut enlever dans la configuration la compilation du module &quot;api&quot;, pour ne garder seulement celui ou ceux de &quot;app&quot; :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij-PMASXM77VAGGi9JYPyBxFhTj2_hCLGVpj2GonakdK0D4IAespLu1_gDH4yoHWyCyI_gyBYq2KIL9lpIHpt8s3Y6JgV8JwM05dWNJd-n0kyofNVDQH89REfJMHx85e5fvIckbI6CEcs/s1600/blog_3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;497&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij-PMASXM77VAGGi9JYPyBxFhTj2_hCLGVpj2GonakdK0D4IAespLu1_gDH4yoHWyCyI_gyBYq2KIL9lpIHpt8s3Y6JgV8JwM05dWNJd-n0kyofNVDQH89REfJMHx85e5fvIckbI6CEcs/s640/blog_3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Votre projet devrait maintenant compiler correctement et s&#39;installer sur le cloud Google.</content><link rel='replies' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/6843344134415475966/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://blt-crew.blogspot.com/2010/12/travailler-avec-plusieurs-projets-gwt.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/6843344134415475966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/6843344134415475966'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/2010/12/travailler-avec-plusieurs-projets-gwt.html' title='Travailler avec plusieurs projets GWT sous Eclipse'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijpME7UTtG1OfUdsgHRp1fjcewDJhNJI0tzYoo2dLl3eld81Eqrm7Aiv-z_gMBOcDjPY0JGKk1zSEnIItfdnYe-KoxXizDwxAgnChAeINOC9vJifOJbw_UBkFKuaEZLa07sTKxG23qj4w/s72-c/blog_1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8721690124410059059.post-7614820087645144852</id><published>2010-10-11T01:56:00.000-07:00</published><updated>2010-12-13T18:14:48.784-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="iText"/><category scheme="http://www.blogger.com/atom/ns#" term="OCR"/><title type='text'>Convertir un fax &quot;image&quot; en pdf &quot;texte&quot; via OCR</title><content type='html'>Pour un projet client, nous avons &amp;nbsp;besoin de convertir des fichiers .fax avec une technologie de type OCR afin de pouvoir lire et indexer ces fichiers par un serveur &lt;b&gt;Google Search Appliance&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir regardé autour des API OCR, nous en avons trouvé des très performantes mais toutes sont payantes et assez&amp;nbsp;onéreuses surtout que nous sommes en phase de test. J&#39;ai réalisé un bout de code JAVA qui lit un fichier FAX ou TIFF, pour le transformer en PDF via&amp;nbsp;l’excellente&amp;nbsp;api &lt;a href=&quot;http://itextpdf.com/&quot;&gt;&lt;b&gt;iText&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;
Une fois ce PDF produit je l&#39;upload vers le nuage grâce aux&amp;nbsp;&lt;b style=&quot;font-family: Helvetica, Arial, sans-serif; line-height: 41px; white-space: nowrap;&quot;&gt;&lt;a href=&quot;http://code.google.com/intl/fr/apis/documents/docs/3.0/developers_guide_protocol.html#SpecialFeatures&quot;&gt;Google Documents List Data API v3.0&lt;/a&gt; &lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 41px; white-space: nowrap;&quot;&gt;pour exploiter la&amp;nbsp;conversion&amp;nbsp;par &lt;a href=&quot;http://en.wikipedia.org/wiki/Optical_character_recognition&quot;&gt;OCR&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 41px; white-space: nowrap;&quot;&gt;Puis enfin je télécharge le document produit sur mon disque local.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 41px; white-space: nowrap;&quot;&gt;En espérant que cela puisse aider !&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;public class FaxToPdfToGoogle {

 // Fax To PDF 
 private final String fileToRead = &quot;Document.fax&quot;; // File to read
 private final String fileToExport = &quot;DocumentToUpload.pdf&quot;; // File produced to Google OCR
 private final Rectangle pageSize = PageSize.A4;  // PDF To Upload resolution, a high resolution result in com.google.gdata.util.InvalidEntryException: Could not convert document.

 // PDF To Google
 private final String googleUsername = &quot;&quot;; // Your email of google account
 private final String googlePassword = &quot;&quot;; // your password of google account
 private final String fileNameInGoogle = &quot;DocumentTest-FaxToPdfOcr.pdf&quot;; // File produced to Google OCR
 private final DocsService client = new DocsService(&quot;enterprise-FaxToPdf-v1&quot;); // Set here what you want as applicationName
 
 // Google to HD
 private final String fileFinal = &quot;DocumentFinal.pdf&quot;; // File to read

 public FaxToPdfToGoogle() throws Exception {
  
  // ---------------------------------------------
  // --           Produce PDF From Fax          --
  // ---------------------------------------------
  
  File f = new File(&quot;./&quot;+fileToExport);
  System.out.println(&quot;Doc exist : &quot;+f.exists());
  createPDFFromTiff(f);
  System.out.println(&quot;Doc finished&quot;);
  

  // ---------------------------------------------
  // --      Upload PDF To Google OCR API       --
  // ---------------------------------------------
  
  System.out.println(&quot;Doc upload start&quot;);
//  if(!document.isOpen()){
   client.setUserCredentials(googleUsername, googlePassword);
   DocumentListEntry uploadedEntry = uploadFileGApi(&quot;./&quot;+fileToExport, fileNameInGoogle);
   
   final String docId = uploadedEntry.getDocId();
   System.out.println(&quot;Document now online @ :&quot; + docId);
   System.out.println(&quot;Doc upload finished &quot;);
//  }
   

  // ---------------------------------------------
  // -- Download file converted doc from Google --
  // ---------------------------------------------

  System.out.println(&quot;Doc download start&quot;);
  if(downloadFileGApi(&quot;./&quot;+fileFinal, docId))
   System.out.println(&quot;Doc download success&quot;);
  else 
   System.out.println(&quot;Doc download failed&quot;);
 }

 private void createPDFFromTiff(File pdf) throws DocumentException, IOException {
  if(!pdf.exists())
   System.out.println(&quot;Doc creation : &quot;+pdf.createNewFile());
  
  Document document = new Document(pageSize,0,0,0,0);
  PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdf));
  
  System.out.println(&quot;Doc resolution : &quot; + document.getPageSize().toString());
  
  document.open();
  PdfContentByte c = writer.getDirectContent();
  document.add(new Paragraph(&quot;Multipages tiff file&quot;));
  
  System.out.println(&quot;Read &quot;+fileToRead);
  
  RandomAccessFileOrArray ra = new RandomAccessFileOrArray(fileToRead);
  int pages = TiffImage.getNumberOfPages(ra);
  
  System.out.println(&quot;Nombre de pages &quot;+pages);
  
  for(int i = 1; i &amp;lt;= pages; i++){
   Image img = TiffImage.getTiffImage(ra, i);
   img.setAbsolutePosition(0f,0f);
   img.scaleAbsolute(pageSize.getWidth(),pageSize.getHeight());
   c.addImage(img);
   c.getPdfDocument().newPage();
  }

  document.close();
 }

 private DocumentListEntry uploadFileGApi(String filepath, String title)throws IOException, ServiceException{
    File file = new File(filepath);
    System.out.println(&quot;Doc to upload exist &quot; + file.exists());
    DocumentListEntry newDocument = new DocumentListEntry();
    String mimeType = DocumentListEntry.MediaType.fromFileName(file.getName()).getMimeType();
    newDocument.setFile(file, mimeType);
    newDocument.setTitle(new PlainTextConstruct(title));
    
    return client.insert(new URL(&quot;https://docs.google.com/feeds/default/private/full?ocr=true&quot;), newDocument);
 }
 
 private boolean downloadFileGApi(String filepath, String resourceId) throws IOException, ServiceException{
  
  URL url = new URL(&quot;https://docs.google.com/feeds/default/private/full/&quot; + resourceId);
  DocumentListEntry entry = client.getEntry(url, DocumentListEntry.class);

  if( entry != null ){
   
     MediaContent mc = (MediaContent) entry.getContent();
     String fileExtension = mc.getMimeType().getSubType();
     String exportUrl = mc.getUri();
 
     // PDF file cannot be exported in different formats.
     String requestedExtension = filepath.substring(filepath.lastIndexOf(&quot;.&quot;) + 1);
     if (!requestedExtension.equals(fileExtension)) {
       System.err.println(&quot;Warning: &quot; + mc.getMimeType().getMediaType() +
           &quot; cannot be downloaded as a &quot; + requestedExtension + &quot;. Using .&quot; +
           fileExtension + &quot; instead.&quot;);
       filepath = filepath.substring(0, filepath.lastIndexOf(&quot;.&quot;) + 1) + fileExtension;
     }
     downloadFile(exportUrl, filepath);
     return true;
  }
  else 
   return false;
 }
 
 public void downloadFile(String exportUrl, String filepath) throws IOException, MalformedURLException, ServiceException {
    System.out.println(&quot;Exporting document from: &quot; + exportUrl);
  
    MediaContent mc = new MediaContent();
    mc.setUri(exportUrl);
    MediaSource ms = client.getMedia(mc);
  
    InputStream inStream = null;
    FileOutputStream outStream = null;
  
    try {
       inStream = ms.getInputStream();
       outStream = new FileOutputStream(filepath);
   
       int c;
       while ((c = inStream.read()) != -1) {
         outStream.write(c);
       }
    } finally {
       if (inStream != null) {
         inStream.close();
       }
       if (outStream != null) {
         outStream.flush();
         outStream.close();
       }
    }
 }
 
 public static void main(String[] args) {
  try{
   FaxToPdfToGoogle simpleImages = new FaxToPdfToGoogle();
  }catch(Exception e){
   System.out.println(e);
  }
 }
}


&lt;/pre&gt;&lt;b&gt; &lt;/b&gt; &lt;b&gt; &lt;/b&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 41px; white-space: nowrap;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Voici la liste des api utilisées :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
/FaxToPdf/lib/iText-5.0.4.jar&lt;br /&gt;
/FaxToPdf/lib/apache-mime4j-0.6.jar&lt;br /&gt;
/FaxToPdf/lib/commons-codec-1.3.jar&lt;br /&gt;
/FaxToPdf/lib/commons-logging-1.1.1.jar&lt;br /&gt;
/FaxToPdf/lib/httpclient-4.0.3.jar&lt;br /&gt;
/FaxToPdf/lib/httpcore-4.0.1.jar&lt;br /&gt;
/FaxToPdf/lib/httpcore-nio-4.0.1.jar&lt;br /&gt;
/FaxToPdf/lib/httpmime-4.0.3.jar&lt;br /&gt;
/FaxToPdf/lib/commons-httpclient-3.1.jar&lt;br /&gt;
/FaxToPdf/lib/gdata-core-1.0.jar&lt;br /&gt;
/FaxToPdf/lib/gdata-client-meta-1.0.jar&lt;br /&gt;
/FaxToPdf/lib/gdata-client-1.0.jar&lt;br /&gt;
/FaxToPdf/lib/gdata-media-1.0.jar&lt;br /&gt;
/FaxToPdf/lib/gdata-docs-meta-3.0.jar&lt;br /&gt;
/FaxToPdf/lib/gdata-docs-3.0.jar&lt;br /&gt;
/FaxToPdf/lib/guava-r07.jar&lt;br /&gt;
/FaxToPdf/lib/mail.jar&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/7614820087645144852/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://blt-crew.blogspot.com/2010/10/convertir-un-fax-image-en-pdf-texte-via.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/7614820087645144852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/7614820087645144852'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/2010/10/convertir-un-fax-image-en-pdf-texte-via.html' title='Convertir un fax &quot;image&quot; en pdf &quot;texte&quot; via OCR'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8721690124410059059.post-7143897901052921596</id><published>2010-10-04T11:56:00.000-07:00</published><updated>2010-12-13T18:25:47.684-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="serveur"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><title type='text'>Spring security - récupérer l&#39;utilisateur courant coté serveur</title><content type='html'>Petit tips pour les débutants comme moi, les choses les plus simple ne sont pas forcément très expliqué !&lt;br /&gt;
Voici comment faire pour récupérer l&#39;utilisateur courant coté serveur dans une application&amp;nbsp;intégrée&amp;nbsp;avec  Spring-Security Framework.&lt;br /&gt;
Ceci permet de ne pas faire confiance aux&amp;nbsp;données qui proviennent du coté client. Si cela peut aider quelqu&#39;un :)&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Par exemple dans une transaction hibernate :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;final User loggedUser = getHibernateTemplate().execute(new HibernateCallback() {

@Override
public User doInHibernate(Session session) throws HibernateException, SQLException {
final String username = SecurityContextHolder.getContext().getAuthentication().getName();
return (User) session.get(User.class, username);
}

});

&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/7143897901052921596/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://blt-crew.blogspot.com/2010/10/il-est-des-fois-utile-de-recuperer.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/7143897901052921596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/7143897901052921596'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/2010/10/il-est-des-fois-utile-de-recuperer.html' title='Spring security - récupérer l&#39;utilisateur courant coté serveur'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8721690124410059059.post-5740087583365466683</id><published>2010-08-23T01:18:00.000-07:00</published><updated>2010-10-11T02:00:31.993-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fedora"/><title type='text'>Update houleux vers Fedora 12 Constantine</title><content type='html'>L&#39;update de ma Fedora 11 à Fedora 12 Constantine, fait l&#39;objet de mon premier post sur ce blog. &lt;br /&gt;
Cela aurait pût commencer mieux, car cette upgrade a mal tourné du fait que mon trop faible espace libre de mon /boot. &lt;br /&gt;
Voila donc quelques manipulations qui m&#39;ont étaient très utiles !&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
&lt;h1&gt;Libérer de l&#39;espace dans votre /boot ! &lt;/h1&gt;&lt;br /&gt;
&lt;br /&gt;
Jusque ici, c&#39;est le coup classique, pour y remédier, j&#39;ai suivis la methode 1 &quot;Not enough space in /boot and Free up space&quot; de cet &lt;a href=&quot;https://fedoraproject.org/wiki/How_to_use_PreUpgrade&quot;&gt;article&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
La commande : &quot;df -h /boot&quot; vous permet de rapidement voir le taux de l&#39;espace disque utilisé dans la partition /boot. &lt;br /&gt;
L&#39;upgrade nécéssite environ 26Mo. &lt;br /&gt;
Si vous avez à faire un peu de place, une solution est de supprimer les versions du kernel anciennements installé mais plus utilisé par votre système.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez connaître les kernels inutiles qui peuvent être supprimé : &lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;curl -O &#39;http://skvidal.fedorapeople.org/misc/kernel-prune.py&#39; &lt;br /&gt;
chmod a+x kernel-prune.py &lt;br /&gt;
./kernel-prune.py &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Puis les supprimer grâce à yum : &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]# PKGS=`./kernel-prune.py` &lt;br /&gt;
[root@xxx ~]# echo $PKGS &lt;br /&gt;
[root@xxx ~]# yum remove $PKGS &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Pour laisser propre et libérer encore un peu d&#39;espace , utiliser cette commande (en root) pour voir quel partition contient votre /boot: &lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]# mount | grep &quot;/boot&quot; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Pour moi la réponse est : /dev/sda1 on /boot type ext3 (rw)   , ma partition est donc &quot;/dev/sda1&quot; &lt;br /&gt;
Nous avons plus que a utiliser la commande &quot;tune2fs&quot; pour libérer des blocks mémoire aloués inutilement dans votre /boot.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]# tune2fs -r 0 /dev/sda1 &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Relancer &quot;df -h /boot&quot;, si votre espace libre est supérieure a 26Mo, l&#39;upgrade devrait fonctionner. &lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
J&#39;ai donc relancé &quot;preupgrade&quot;, et une fois le téléchargement des paquets terminé, on me propose de rebooter.. , ben allez hein !&lt;br /&gt;
En temps normal vous devrez tomber sur Anaconda qui termine la mise à jour en installant les paquets. &lt;br /&gt;
Pour ma part, rien n&#39;a était lancé et mon système a démarré comme si de rien n&#39;était, sur mon ancien os. &lt;br /&gt;
J&#39;ai donc voulu retenter ma chance, mais apartir de là &quot;preupgrade&quot; plantait, car mon système d&#39;upgrade est bancale. &lt;br /&gt;
J&#39;ai donc lancait la version en ligne de commandes, &quot;preupgrade-cli&quot; pour essayer de comprendre ce qui bloque.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0.8em;&quot;&gt;&lt;br /&gt;
[root@xxx ~]# preupgrade-cli &quot;Fedora 12 (Constantine)&quot; &lt;br /&gt;
/usr/lib/python2.6/site-packages/yum/__init__.py:203: UserWarning: Use .preconf instead of passing args to _getConfig &lt;br /&gt;
warnings.warn(&#39;Use .preconf instead of passing args to _getConfig&#39;) &lt;br /&gt;
Loaded plugins: blacklist, dellsysidplugin2, refresh-packagekit, whiteout &lt;br /&gt;
Loaded plugins: dellsysidplugin2, refresh-packagekit &lt;br /&gt;
preupgrade-main (mirrorlist) &lt;br /&gt;
url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-12&amp;amp;arch=$basearch &lt;br /&gt;
now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-12&amp;amp;arch=i386 &lt;br /&gt;
preupgrade (mirrorlist) &lt;br /&gt;
url: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/12/Fedora/$basearch/os &lt;br /&gt;
now: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/12/Fedora/i386/os &lt;br /&gt;
preupgrade-google-chrome (baseurl) &lt;br /&gt;
url: http://dl.google.com/linux/rpm/stable/i386 &lt;br /&gt;
now: http://dl.google.com/linux/rpm/stable/i386 &lt;br /&gt;
[...]&lt;br /&gt;
url: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f12&amp;amp;arch=i386 &lt;br /&gt;
now: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f12&amp;amp;arch=i386 &lt;br /&gt;
Traceback (most recent call last): &lt;br /&gt;
File &quot;/usr/share/preupgrade/preupgrade-cli.py&quot;, line 312, in &lt;module&gt; &lt;br /&gt;
pu.main(myrelease) &lt;br /&gt;
File &quot;/usr/share/preupgrade/preupgrade-cli.py&quot;, line 175, in main &lt;br /&gt;
self.setup(myrelease) &lt;br /&gt;
File &quot;/usr/lib/python2.6/site-packages/preupgrade/__init__.py&quot;, line 130, in setup &lt;br /&gt;
self.complete_repo_setup() &lt;br /&gt;
File &quot;/usr/lib/python2.6/site-packages/preupgrade/__init__.py&quot;, line 328, in complete_repo_setup &lt;br /&gt;
repo._grabfunc.opts.user_agent = __user_agent__ &lt;br /&gt;
AttributeError: &#39;NoneType&#39; object has no attribute &#39;opts&#39; &lt;br /&gt;
&lt;/module&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Oops,celà ne fonctionne pas non plus. Après quelques recherches je trouve une super commande curative, &lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]# rm -rf /var/cache/yum/preupgrade* &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Tadam .. ! Celle-ci vide le repertoire a moitié installer par preupgrade. Je retente ma chance. &lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]# preupgrade-cli &quot;Fedora 12 (Constantine)&quot; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Et ça fonctionne ! Après le téléchargement de quelques 1400 paquets, mon preupgrade a tout l&#39;air d&#39;avoir fonctionné. J&#39;ai rebooté, Anaconda a prit le relais et commence l&#39;installation. Voyant le temps que ça va prendre, j&#39;ai décidé de faire un petit tour, et lors de mon retour .. bizarre, mon pc était éteind. Je l&#39;ai rallumé pour voir dans quel état était il. Et là c&#39;est le drame.., un kernel panic !!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red; font-weight: bold;&quot;&gt;RAMDISK: incomplete write (1337 != 5348)&lt;br /&gt;
write error&lt;br /&gt;
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J&#39;assistai donc à mon premier kernel panic, c&#39;est toujours plus sympas qu&#39;un blue screen Windozien (toutes les leds de mon laptop clignotaient d=P ), surtout quand on arrive a s&#39;en sortir. Alors j&#39;ai sorti mon Live CD Fedora 12, mais cela doit fonctionner avec bien d&#39;autres. Voici la marche à suivre.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
&lt;h1&gt;Installation d&#39;un kernel via un Live CD&lt;/h1&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allez chercher sur internet le kernel actuel et gardait le sur votre disque dur, par exemple :&lt;br /&gt;
Kernel de la release:&lt;br /&gt;
&lt;a href=&quot;http://download.fedora.redhat.com/pub/fedora/linux/releases/&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;
http://download.fedora.redhat.com/pub/fedora/linux/releases/_version_/Fedora/_votre_build_/os/Packages/_kernel_xx_&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
Dernier kernel:&lt;br /&gt;
&lt;a href=&quot;http://download.fedora.redhat.com/pub/fedora/linux/updates&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;
http://download.fedora.redhat.com/pub/fedora/linux/updates/_version_/Fedora/_votre_build_/os/Packages/_kernel_xx_&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite monter le dossier /boot de votre os dans le dossier /boot du live cd. Pour ça, il faut les reconnaîtres, pour ma part c&#39;est : &lt;br /&gt;
/media/_boot  :  celui du live cd  et&lt;br /&gt;
/media/Fedora-11-i686-Live  :  celui du mon os.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]#mount --move /media/_boot  /media/Fedora-11-i686-Live/boot&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
On change ensuite les options de montage :&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]#mount -o remount,suid,exec,dev /media/Fedora-11-i686-Live&lt;br /&gt;
[root@xxx ~]#mount -o remount,suid,exec,dev /media/Fedora-11-i686-Live/boot&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
On change ensuite le root directory de ce point de montage :&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]#chroot /media/Fedora-11-i686-Live&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Enfin on installe le kernel précédement téléchargé ( --force peut être nécéssaire si il nous signal qu&#39; il est déjà installé ):&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;[root@xxx ~]#rpm -ivh kernel-xx.fc12.i686rpm –force&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Redémarrer, et vous pouvez booter normalement !&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Oouf ! Quelques mises à jour de quelques package et mon upgrade est fini !</content><link rel='replies' type='application/atom+xml' href='http://blt-crew.blogspot.com/feeds/5740087583365466683/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://blt-crew.blogspot.com/2010/08/update-houleux-vers-fedora-12.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/5740087583365466683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8721690124410059059/posts/default/5740087583365466683'/><link rel='alternate' type='text/html' href='http://blt-crew.blogspot.com/2010/08/update-houleux-vers-fedora-12.html' title='Update houleux vers Fedora 12 Constantine'/><author><name>Hilaire Thomas</name><uri>http://www.blogger.com/profile/10230253812279866725</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijscEuAOEjeleVSB91duxJKPOIRf5BIgN_dTmN7Pf9qsWSNJiySg_jZkoFx7r4VIPwe3A1Az7RvBDW9rwM3-idhlp1ZGInosfQ_vqoj6b6U9Qgjc9C1eIccWit16376_o/s220/2010-08-25-143234.jpg'/></author><thr:total>0</thr:total></entry></feed>