<?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-976535564450577855</id><updated>2024-09-17T06:16:54.986+01:00</updated><category term="Archiva"/><category term="Tomcat 7"/><category term="VisualVM"/><category term="Hudson"/><category term="Maven"/><category term="Maven multimodule assembly"/><category term="PermGen space"/><category term="Subversion"/><category term="Tomcat 7 Permgen space"/><category term="Tomcat 7 remote debug"/><category term="Tortoise"/><category term="UML diagramming"/><category term="UMLet"/><category term="UnxUtils"/><category term="development"/><category term="open source licenses"/><category term="pizza"/><category term="programming"/><category term="version control"/><title type='text'>Umpteen Choices</title><subtitle type='html'>Various thoughts while developing a web app from the ground up at home.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-296118712777524418</id><published>2012-01-26T12:02:00.001+00:00</published><updated>2012-01-26T12:03:33.019+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat 7 remote debug"/><title type='text'>Tomcat 7 Service : start in debug mode</title><content type='html'>Hit a problem today, doing a really simple tutorial app, so decided to debug Tomcat 7 remotely from Eclipse. I started looking on the web, and almost everything refers to earlier versions of Tomcat.&lt;br /&gt;
The ones which did mention running Tomcat 7 didn&#39;t appear to be using it as a service, so I had a quick look at the Tomcat site to see if there were any how-to&#39;s.&lt;br /&gt;
&lt;br /&gt;
From there, the answer was simple.&lt;br /&gt;
&lt;br /&gt;
From the command line :&lt;br /&gt;
H:\Tomcat 7.0\bin\tomcat7 //TS//Tomcat7 -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n&lt;br /&gt;
&lt;br /&gt;
When started like this, Eclipse was able to connect using it&#39;s standard remote debug config.&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/AVvXsEicEtYLIHA6GRTFxPtVVLpCLN5_as8JeS4Xfc11LGXLJ-R5Md3a62MQ48HvyRNDN488XXsk37bnywVSpcp2TeTksmcFjWtPZ6icrblUoBRsb-Cj7-p9wiqQPGscikoyLaVEW6fEnXWEXcU/s1600/remote1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicEtYLIHA6GRTFxPtVVLpCLN5_as8JeS4Xfc11LGXLJ-R5Md3a62MQ48HvyRNDN488XXsk37bnywVSpcp2TeTksmcFjWtPZ6icrblUoBRsb-Cj7-p9wiqQPGscikoyLaVEW6fEnXWEXcU/s400/remote1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/296118712777524418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2012/01/tomcat-7-service-start-in-debug-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/296118712777524418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/296118712777524418'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2012/01/tomcat-7-service-start-in-debug-mode.html' title='Tomcat 7 Service : start in debug mode'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicEtYLIHA6GRTFxPtVVLpCLN5_as8JeS4Xfc11LGXLJ-R5Md3a62MQ48HvyRNDN488XXsk37bnywVSpcp2TeTksmcFjWtPZ6icrblUoBRsb-Cj7-p9wiqQPGscikoyLaVEW6fEnXWEXcU/s72-c/remote1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-224121267531837352</id><published>2011-09-12T00:26:00.067+01:00</published><updated>2011-09-12T00:50:25.700+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Maven multimodule assembly"/><title type='text'>Multi module build in Maven</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
.scrollbox {
height:400px;
width:550px;
overflow:auto;
}
&lt;/style&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#39;ve been at this one for a couple of days, so decided to post this here for future reference. My aim is to create a jar file, with a sub directory called lib, and have all the 3rd party dependencies in there, e.g&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; project.jar&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib/spring-beans-3.0.5.RELEASE.jar&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib/logback.jar&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib/commons-cli-1.1.jar&lt;br /&gt;
&lt;br /&gt;
The project looks like :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; adapter&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; core&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ftp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; web-service&lt;br /&gt;
&lt;br /&gt;
At this stage, I&#39;m putting demo code together for different sprints, so only wanted some jar files to run from the command line. Maven Assembly is the package designed to do this, so I read the &lt;a href=&quot;http://maven.apache.org/plugins/maven-assembly-plugin/&quot;&gt;Apache Maven Assembly information&lt;/a&gt;, and the &lt;a href=&quot;http://www.sonatype.com/books/mvnref-book/reference/assemblies.html&quot;&gt;Sonatype manual &lt;/a&gt;on assemblies, but the examples on both were mixed, and it wasn&#39;t clear to me how to do get this working.. All of the material here was all written using Maven Assembly 2.2.1.&lt;br /&gt;
&lt;br /&gt;
I got some basic examples going quickly, but then got bogged down adding a custom assembly descriptor (see below).&lt;br /&gt;
The recommendation in both references is to add another module to the project, so it looks like :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; adapter&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; core&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ftp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; web-service&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; distribution &lt;br /&gt;
&lt;br /&gt;
Below is the example code I&#39;m currently using to get this : it will be refined, and as it get&#39;s better, I&#39;ll edit this post.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Parent pom :&lt;/b&gt;&lt;br /&gt;
Once you move to a multimodule build, make sure you move the plug in information out of the parent pom.xml, and ensure it exists only in the new distribution module&#39;s pom. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;scrollbox&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;proj&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.proj.adapter&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;project&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;packaging&amp;gt;pom&amp;lt;/packaging&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;modules&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;module&amp;gt;proj-core&amp;lt;/module&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;module&amp;gt;proj-ftp&amp;lt;/module&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;module&amp;gt;proj-ws&amp;lt;/module&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;module&amp;gt;distribution&amp;lt;/module&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;properties&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;maven.assembly.version&amp;gt;2.2.1&amp;lt;/maven.assembly.version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;plexus.utils.version&amp;gt;1.1&amp;lt;/plexus.utils.version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/properties&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencyManagement&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;${project.groupId}&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;proj-core&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencyManagement&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;build&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pluginManagement&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/pluginManagement&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/build&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Distribution module pom.xml&lt;/b&gt;&lt;br /&gt;
The main items here are :&lt;br /&gt;
1. Identify the location of the custom assembly descriptor (shown in bold),&lt;br /&gt;
2. Bind the lifecycle in the executions tag. Some of the examples I saw had the configuration within the execution tag, but I never got this to work, &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;&lt;project xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xsi:schemalocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
 &lt;modelversion&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
 xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&amp;gt;
 &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;
 &amp;lt;parent&amp;gt;
  &amp;lt;groupId&amp;gt;com.proj.adapter&amp;lt;/groupId&amp;gt;
  &amp;lt;artifactId&amp;gt;adapterProject&amp;lt;/artifactId&amp;gt;
  &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;
 &amp;lt;/parent&amp;gt;
 &amp;lt;artifactId&amp;gt;dist&amp;lt;/artifactId&amp;gt;
 &amp;lt;packaging&amp;gt;pom&amp;lt;/packaging&amp;gt;
 &amp;lt;name&amp;gt;Distribution&amp;lt;/name&amp;gt;
 &amp;lt;dependencies&amp;gt;
  &amp;lt;dependency&amp;gt;
   &amp;lt;groupId&amp;gt;com.proj.adapter&amp;lt;/groupId&amp;gt;
   &amp;lt;artifactId&amp;gt;adapterProject-core&amp;lt;/artifactId&amp;gt;
   &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;
  &amp;lt;/dependency&amp;gt;
 &amp;lt;/dependencies&amp;gt;
 &amp;lt;build&amp;gt;
  &amp;lt;finalName&amp;gt;adapterProject&amp;lt;/finalName&amp;gt;
  &amp;lt;plugins&amp;gt;
   &amp;lt;plugin&amp;gt;
    &amp;lt;artifactId&amp;gt;maven-assembly-plugin&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;${maven.assembly.version}&amp;lt;/version&amp;gt;
    &amp;lt;configuration&amp;gt;
     &amp;lt;descriptors&amp;gt;
      &amp;lt;descriptor&amp;gt;&lt;b&gt;src/main/assembly/bin.xml&lt;/b&gt;&amp;lt;/descriptor&amp;gt;
     &amp;lt;/descriptors&amp;gt;
    &amp;lt;/configuration&amp;gt;
    &amp;lt;executions&amp;gt;
     &amp;lt;execution&amp;gt;
      &amp;lt;id&amp;gt;distro-assembly&amp;lt;/id&amp;gt;
      &amp;lt;phase&amp;gt;package&amp;lt;/phase&amp;gt;
      &amp;lt;goals&amp;gt;
       &amp;lt;goal&amp;gt;single&amp;lt;/goal&amp;gt;
      &amp;lt;/goals&amp;gt;
     &amp;lt;/execution&amp;gt;
    &amp;lt;/executions&amp;gt;
   &amp;lt;/plugin&amp;gt;
  &amp;lt;/plugins&amp;gt;
 &amp;lt;/build&amp;gt;
&amp;lt;/project&amp;gt;&lt;/modelversion&gt;&lt;build&gt;&lt;/build&gt;
&lt;/project&gt;


&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Custom assembly descriptor&lt;/b&gt;&lt;br /&gt;
This is just an xml file, referenced from the distribution modules pom.&lt;br /&gt;
For a good few hours this was the bit that got me, every attempt to build returned an error message that one file had to be included, and I couldn&#39;t see where I&#39;d gone wrong on my dependencies.&amp;nbsp; Eventually I cracked it, and have highlighted it here.&lt;br /&gt;
The examples I saw used&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;includes&amp;gt;
    &amp;lt;include&amp;gt;*-ws&amp;lt;/include&amp;gt;
   &amp;lt;/includes&amp;gt;&lt;/pre&gt;and other similar examples. Some didn&#39;t have the useAllReactorProjects included, but, eventually I got the distribution module to get the correct dependencies and find the file using the snippet below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;&lt;assembly xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2&quot; xsi:schemalocation=&quot;http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd&quot;&gt;&amp;lt;assembly
 xmlns=&quot;http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2&quot;
 xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
 xsi:schemaLocation=&quot;http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd&quot;&amp;gt;
 &amp;lt;id&amp;gt;bin&amp;lt;/id&amp;gt;
 &amp;lt;formats&amp;gt;
  &amp;lt;format&amp;gt;dir&amp;lt;/format&amp;gt;
 &amp;lt;/formats&amp;gt;
 &amp;lt;moduleSets&amp;gt;
  &amp;lt;moduleSet&amp;gt;
&lt;b&gt;   &amp;lt;useAllReactorProjects&amp;gt;true&amp;lt;/useAllReactorProjects&amp;gt;
   &amp;lt;includes&amp;gt;
    &amp;lt;include&amp;gt;${project.groupId}:adapterProject-core&amp;lt;/include&amp;gt;
   &amp;lt;/includes&amp;gt;&lt;/b&gt;
   &amp;lt;binaries&amp;gt;
    &amp;lt;outputDirectory&amp;gt;/&amp;lt;/outputDirectory&amp;gt;
    &amp;lt;unpack&amp;gt;false&amp;lt;/unpack&amp;gt;
    &amp;lt;includeDependencies&amp;gt;true&amp;lt;/includeDependencies&amp;gt;
    &amp;lt;dependencySets&amp;gt;
     &amp;lt;!--  create the location of the core jar--&amp;gt;
     &amp;lt;dependencySet&amp;gt;
      &amp;lt;includes&amp;gt;
       &amp;lt;include&amp;gt;${project.groupId}:adapterProject-core&amp;lt;/include&amp;gt;
      &amp;lt;/includes&amp;gt;
      &amp;lt;useTransitiveDependencies&amp;gt;false&amp;lt;/useTransitiveDependencies&amp;gt;
      &amp;lt;outputDirectory&amp;gt;/&amp;lt;/outputDirectory&amp;gt;
      &amp;lt;unpack&amp;gt;true&amp;lt;/unpack&amp;gt;

     &amp;lt;/dependencySet&amp;gt;
     &amp;lt;!--  create the lib directory for the supporting jars --&amp;gt;
     &amp;lt;dependencySet&amp;gt;
      &amp;lt;excludes&amp;gt;
       &amp;lt;exclude&amp;gt;${project.groupId}:adapterProject-core&amp;lt;/exclude&amp;gt;
      &amp;lt;/excludes&amp;gt;
      &amp;lt;useProjectArtifact&amp;gt;false&amp;lt;/useProjectArtifact&amp;gt;
      &amp;lt;useTransitiveDependencies&amp;gt;false&amp;lt;/useTransitiveDependencies&amp;gt;
      &amp;lt;outputDirectory&amp;gt;lib&amp;lt;/outputDirectory&amp;gt;
     &amp;lt;/dependencySet&amp;gt;
    &amp;lt;/dependencySets&amp;gt;
   &amp;lt;/binaries&amp;gt;
  &amp;lt;/moduleSet&amp;gt;
 &amp;lt;/moduleSets&amp;gt;
&amp;lt;/assembly&amp;gt;

&lt;/assembly&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
Hope this helps someone else struggling with this.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/224121267531837352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/09/multi-module-build-in-maven.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/224121267531837352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/224121267531837352'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/09/multi-module-build-in-maven.html' title='Multi module build in Maven'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total><georss:featurename>Birmingham, UK</georss:featurename><georss:point>52.4829614 -1.8935920000000124</georss:point><georss:box>52.3700579 -2.0366025000000123 52.5958649 -1.7505815000000124</georss:box></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-809887963795281032</id><published>2011-08-17T16:59:00.001+01:00</published><updated>2011-08-17T17:02:08.944+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="UML diagramming"/><category scheme="http://www.blogger.com/atom/ns#" term="UMLet"/><title type='text'>UMLet - UML Tool for Fast UML Diagrams | Eclipse Plugins, Bundles and Products - Eclipse Marketplace</title><content type='html'>&lt;a href=&quot;http://marketplace.eclipse.org/content/umlet-uml-tool-fast-uml-diagrams#comment-1301&quot;&gt;UMLet - UML Tool for Fast UML Diagrams | Eclipse Plugins, Bundles and Products - Eclipse Marketplace&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Very nice tool for simple UML diagramming, that I could then export to Word. I ran it as an Eclipse plug in, and would definitely use this again. There&#39;s almost no learning curve, the interface is simple. I thought of BoUML as a good tool, but this is even easier to use.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/809887963795281032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/08/umlet-uml-tool-for-fast-uml-diagrams.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/809887963795281032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/809887963795281032'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/08/umlet-uml-tool-for-fast-uml-diagrams.html' title='UMLet - UML Tool for Fast UML Diagrams | Eclipse Plugins, Bundles and Products - Eclipse Marketplace'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-3607347395776507747</id><published>2011-07-14T21:56:00.000+01:00</published><updated>2011-07-14T21:56:31.469+01:00</updated><title type='text'>Home Computing 101</title><content type='html'>After a recent IT disaster, the need to back up to more than one location has been driven home pretty brutally. After some work, and some help, I did manage to get back most of what I had before. The biggest loss has been the source code from previous jobs : some of that was quite neat, and always a useful reference.&lt;br /&gt;
So backups are back on a weekly schedule to alternating locations : this time one to an external hard drive on Sunday, and one from the primary computer to the server on a Saturday. I will need to organize the backups for the server&#39;s repository as well. Backups are through Genie 9&#39;s Genie Backup Manager Home 8.0. It&#39;s easy enough to use, but haven&#39;t tried restoring from it yet. &lt;br /&gt;
&lt;br /&gt;
As part of the general effort to restore the PC, I decided to partition the C drive on the primary PC into 3 areas : C: for Windows and general family use, H: for development work and data, and I: which will eventually host Ubuntu. I use Ubuntu a bit at work, but it&#39;d be useful to get more time with it. &lt;br /&gt;
This proved to a useful &lt;a href=&quot;http://www.petri.co.il/the-ultimate-guide-to-hard-drive-partitioning.htm&quot;&gt;guide to partitioning a hard drive.&lt;/a&gt; From there I looked at SwissKnife, but in the end went for&lt;a href=&quot;http://www.partition-tool.com/&quot;&gt; Easeus Partition Master Home Edition&lt;/a&gt;. I can&#39;t recommend it enough : easy to use, pretty quick, nice UI. If anyone knows any drawbacks on this tool, let me know, because at the moment, I&#39;m sold.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/3607347395776507747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/07/home-computing-101.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3607347395776507747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3607347395776507747'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/07/home-computing-101.html' title='Home Computing 101'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-179978448885492269</id><published>2011-05-05T21:58:00.061+01:00</published><updated>2011-05-06T11:48:46.176+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat 7 Permgen space"/><category scheme="http://www.blogger.com/atom/ns#" term="VisualVM"/><title type='text'>Tomcat 7 Windows Service memory management - a correction</title><content type='html'>In an earlier post, I made a serious mistake, so this should go some way to correcting it. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;First Hudson Run&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
My first run of Hudson on Tomcat 7 led to the infamous error :&lt;br /&gt;
&lt;pre&gt;FATAL: PermGen space java.lang.OutOfMemoryError: PermGen space
&lt;/pre&gt;Not surprising, given the spec of the machine I&#39;m using, but still a pain.&lt;br /&gt;
Using &lt;a href=&quot;http://visualvm.java.net/&quot;&gt;VisualVM&lt;/a&gt;, it shows the PermGen size to be still at the default 64MB size. Attempts to monitor the build process weren&#39;t successful as the entire machine ground to a halt.&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/AVvXsEjoLTWZITMbZsSjojmJ4VtmVqJMGYDQrd5Tddxus2OymjB5sooUTEQxcPG3fKQhOBDiqwI9VIT3ZPQ03bIPvieTaf9rukeyLwwZr9qEYPsaDWpb9E20sFbzSPJFeiVUnY6KEWVUJeFwe-A/s1600/permgen1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;209&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoLTWZITMbZsSjojmJ4VtmVqJMGYDQrd5Tddxus2OymjB5sooUTEQxcPG3fKQhOBDiqwI9VIT3ZPQ03bIPvieTaf9rukeyLwwZr9qEYPsaDWpb9E20sFbzSPJFeiVUnY6KEWVUJeFwe-A/s400/permgen1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Previously on Tomcat 5/6, I&#39;d&#39;ve set the catalina.bat or catalina.sh file to contain the memory management options, but this file doesn&#39;t exist in Tomcat 7. This was new to me.&lt;br /&gt;
&lt;br /&gt;
Tomcat itself isn&#39;t helpful with Permgen, as although it&#39;s possible to find the inital and maximum heap memory size on the Manager App, Server Status tab, it doesn&#39;t show the permgen size.&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/AVvXsEjsXADOKVTwB95zhhMiktWamfvvnu-x1GXGhMWlv3zSCkeKT4f3A3HrvzltlgW7XZHRPy1LIHXBLOsFDtVfJtjVIYSdiKUA35Bv4ZoZKWIuNBCiQTR7IJLqfVgmMuWXXB8hwflKDoIqSkE/s1600/permgen2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;162&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsXADOKVTwB95zhhMiktWamfvvnu-x1GXGhMWlv3zSCkeKT4f3A3HrvzltlgW7XZHRPy1LIHXBLOsFDtVfJtjVIYSdiKUA35Bv4ZoZKWIuNBCiQTR7IJLqfVgmMuWXXB8hwflKDoIqSkE/s400/permgen2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
There are some really good sites listing the mechanics of setting Tomcat&#39;s memory.&lt;br /&gt;
&lt;a href=&quot;http://webmap.socialchange.net.au/support/faqs/1050391897_25788.html&quot;&gt;WEBMAP&lt;/a&gt; is for a Tomcat running on jdk 1.3, but the step by step process to figuring out which parameters are useful is useful.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CATALINA_OPTS vs JAVA_OPTs&lt;/b&gt;&lt;br /&gt;
I found some sites that suggested setting the OPTS as a Windows environment variable. Several blogs and sites suggest using JAVA_OPTS. I&#39;d caution on this, as although others got it to work, JAVA_OPTS are used by other applications (JBoss in particular was mentioned), not just Tomcat. I decided to stick with CATALINA_OPTS. &lt;br /&gt;
But, when I tried setting the environment variable, and restarting Tomcat, I didn&#39;t see an increase in the Heap size. I&#39;m not saying it doesn&#39;t work, but I couldn&#39;t get it to work. Combined with the fact that I didn&#39;t like the idea of doing it this way as it seems to be scattering the configuration across a number of places, I didn&#39;t really put any further effort into making this work.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Setting memory options on Tomcat&lt;/b&gt;&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/AVvXsEjmI9UVw-UGlwSpuJaXUj6cNq-Bln1fmCY6TIFXUK5YETxl177D0B_iVCZ6o1d8iwH4Bvj7uCKEj0MMT4zdWl6BkIi03FpJsAzIaai0TMR1JXYCs7rr9eZ-wm6hFr9KzXFwPl1f-jmcLBA/s1600/permgen3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear:right; float:right; margin-left:1em; margin-bottom:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;310&quot; width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmI9UVw-UGlwSpuJaXUj6cNq-Bln1fmCY6TIFXUK5YETxl177D0B_iVCZ6o1d8iwH4Bvj7uCKEj0MMT4zdWl6BkIi03FpJsAzIaai0TMR1JXYCs7rr9eZ-wm6hFr9KzXFwPl1f-jmcLBA/s320/permgen3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Remember -Xms and -Xmx only set the heap size. These are easy enough to set through the  Monitor Tomcat GUI, on the Java tab as the Initial Memory Pool (equivalent to -Xms) and the Maximum Memory Pool (-Xmx).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To set the Permgen size, you need either -XX:PermSize=XXXm or -XX:MaxPermSize=XXXm, and see &lt;a href=&quot;http://webmap.socialchange.net.au/support/faqs/1050391897_25788.html&quot;&gt;WEBMAP&lt;/a&gt; for a more detailed review of each of these. Again, this can be set on the Java tab of the Monitor Tomcat GUI, this time as a Java Option, I went for -XX:PermSize=128m. &lt;br /&gt;
&lt;br /&gt;
The difference can be seen on the next screenshot, again of the MonitorVM application. Heap size has gone from 67MB to 134MB. &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/AVvXsEjVQPyQdh87s8jUg0LhrfK9UDZzs8eJGYb2bwJgoOS-HgUjKjz1bncJATYxHP71aWtimfSAaaDfNq26KSPg37NQxehqyVgj9ubNw3E60YK1TiU2S-HLPKCTdUmRDmXb-4Ttcl9xQNXpZSs/s1600/permgen4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVQPyQdh87s8jUg0LhrfK9UDZzs8eJGYb2bwJgoOS-HgUjKjz1bncJATYxHP71aWtimfSAaaDfNq26KSPg37NQxehqyVgj9ubNw3E60YK1TiU2S-HLPKCTdUmRDmXb-4Ttcl9xQNXpZSs/s400/permgen4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Effect of all of this ? &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I now have a Hudson build that doesn&#39;t crash Tomcat either during or immediately after each run. Heap size during a build is about the 75MB mark. Maybe now I can start doing some coding ...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Useful references&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In addition to those mentioned above, I found these two references from http://www.skill-guru.com to be useful :&lt;br /&gt;
&lt;a href=&quot;http://www.skill-guru.com/blog/2010/09/23/how-to-increase-heap-size-in-tomcat-6/&quot;&gt;Setting Heap Size &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.skill-guru.com/blog/2010/10/05/increasing-permgen-size-in-your-server/&quot;&gt;Setting Permgen Size&lt;br /&gt;
&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/179978448885492269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/05/tomcat-7-windows-service-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/179978448885492269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/179978448885492269'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/05/tomcat-7-windows-service-memory.html' title='Tomcat 7 Windows Service memory management - a correction'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoLTWZITMbZsSjojmJ4VtmVqJMGYDQrd5Tddxus2OymjB5sooUTEQxcPG3fKQhOBDiqwI9VIT3ZPQ03bIPvieTaf9rukeyLwwZr9qEYPsaDWpb9E20sFbzSPJFeiVUnY6KEWVUJeFwe-A/s72-c/permgen1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-2606952217185754723</id><published>2011-04-19T22:18:00.006+01:00</published><updated>2011-05-05T22:50:15.810+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PermGen space"/><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat 7"/><category scheme="http://www.blogger.com/atom/ns#" term="VisualVM"/><title type='text'>Solving Tomcat 7 memory problems.</title><content type='html'>&lt;b&gt;Hudson builds&lt;/b&gt;&lt;br /&gt;
I started running Hudson builds again, looking for the cause of these out of memory errors.&lt;br /&gt;
The project builds, but then fails after each Maven project has built :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: black; font-family: &#39;Times New Roman&#39;; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: Verdana,Helvetica,&#39;sans serif&#39;; font-size: 11px;&quot;&gt;&lt;pre style=&quot;margin: 0px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] expiryTracker ..................................... SUCCESS [5.516s]
[INFO] model ............................................. SUCCESS [29.813s]
[INFO] API for expiry tracker ............................ SUCCESS [4.797s]
[INFO] maven-importer .................................... SUCCESS [3.500s]
[INFO] expirytracker-hib ................................. SUCCESS [3.343s]
[INFO] webapp Maven Webapp ............................... SUCCESS [4.453s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 58.266s
[INFO] Finished at: Tue Apr 19 21:21:22 BST 2011
[INFO] Final Memory: 20M/49M
[INFO] ------------------------------------------------------------------------
maven builder waiting
channel stopped
Archiving artifacts
Deploying artifacts to &lt;a href=&quot;http://server:8082/archiva/repository/snapshots/&quot; style=&quot;color: #204a87; text-decoration: underline;&quot;&gt;http://server:8082/archiva/repository/snapshots/&lt;/a&gt;
uniqueVersion == false is not anymore supported in maven 3
Deploying the main artifact pom.xml
FATAL: PermGen space
&lt;a class=&quot;lowkey&quot; href=&quot;http://stacktrace.hudson-labs.org/search?query=java.lang.OutOfMemoryError&quot; style=&quot;color: inherit; text-decoration: none;&quot;&gt;java.lang.OutOfMemoryError&lt;/a&gt;: PermGen space
 at sun.net.www.protocol.http.HttpURLConnection.getServerAuthentication(Unknown Source)
 at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
 at java.net.HttpURLConnection.getResponseCode(Unknown Source)
 at org.apache.maven.wagon.providers.http.LightweightHttpWagon.finishPutTransfer(LightweightHttpWagon.java:185)
 at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:413)
 at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:392)
 at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:365)
 at org.apache.maven.wagon.StreamWagon.put(StreamWagon.java:163)
 at org.apache.maven.repository.legacy.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:543)
 at org.apache.maven.repository.legacy.DefaultWagonManager.putArtifact(DefaultWagonManager.java:494)
 at hudson.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:160)
 at hudson.maven.reporters.MavenArtifactRecord.deployMavenArtifact(MavenArtifactRecord.java:139)
 at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:126)
 at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:128)
 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
 at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:622)
 at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:601)
 at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:762)
 at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:548)
 at hudson.model.Run.run(Run.java:1386)
 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:405)
 at hudson.model.ResourceController.execute(ResourceController.java:88)
 at hudson.model.Executor.run(Executor.java:145)&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
VisualVM&lt;/b&gt;&lt;br /&gt;
At this point, I&#39;m not sure whats going on.&lt;br /&gt;
In an effort to diagnose, I installed Java&#39;s memory viewer, &lt;a href=&quot;http://visualvm.java.net/&quot;&gt;VisualVM&lt;/a&gt;. I&#39;ve used it precursor before, when it was first bundled with early versions of Netbeans 6.&lt;br /&gt;
Installing is straightforward, but found that Tomcat didn&#39;t show up as a process running under the VM. When Tomcat runs as a service, even if it&#39;s running under the same user account that you used to launch VisualVM, Tomcat won&#39;t appear by default in the VisualVM process list. I found the answer here, at &lt;a href=&quot;http://blog.mattwoodward.com/monitoring-tomcat-with-java-visualvm&quot;&gt;Matt Woodward&#39;s blog&lt;/a&gt; , which included the vital information about including &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;-Dcom.sun.management.jmxremote.port=8086  &lt;br /&gt;
-Dcom.sun.management.jmxremote.ssl=false &lt;br /&gt;
-Dcom.sun.management.jmxremote.authenticate=false &lt;/i&gt; &lt;br /&gt;
&lt;br /&gt;
in the Java Options box on the Java options tab.&lt;br /&gt;
With the steps from that and a restart of Tomcat, I now have Tomcat 7 being monitored by VisualVM.&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/AVvXsEjCa3R6ysa7U-R1G_pg2MPj8oGGe9EKgnro4GC2CSYY8pFFDIj6Z8Tuos_tvj9tYgKjCkWWGgMTNEX9e5-85OJpSPxhBotfOPzrjmcAP53kl0IOq_a-e89kllToeXCIAHMn3MpIoguRyGU/s1600/VisualVM1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;242&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCa3R6ysa7U-R1G_pg2MPj8oGGe9EKgnro4GC2CSYY8pFFDIj6Z8Tuos_tvj9tYgKjCkWWGgMTNEX9e5-85OJpSPxhBotfOPzrjmcAP53kl0IOq_a-e89kllToeXCIAHMn3MpIoguRyGU/s400/VisualVM1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/2606952217185754723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/04/solving-tomcat-7-memory-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/2606952217185754723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/2606952217185754723'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/04/solving-tomcat-7-memory-problems.html' title='Solving Tomcat 7 memory problems.'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCa3R6ysa7U-R1G_pg2MPj8oGGe9EKgnro4GC2CSYY8pFFDIj6Z8Tuos_tvj9tYgKjCkWWGgMTNEX9e5-85OJpSPxhBotfOPzrjmcAP53kl0IOq_a-e89kllToeXCIAHMn3MpIoguRyGU/s72-c/VisualVM1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-7084357101595976125</id><published>2011-04-01T00:08:00.001+01:00</published><updated>2011-04-01T00:08:39.733+01:00</updated><title type='text'>Rush just about over</title><content type='html'>In the last month, I&#39;ve now racked up about 60+ hours overtime. Combined with time in lieu from last year, that makes it about 10 days time in lieu I&#39;m owed. Sweet.&lt;br /&gt;
And next week, can get back to my own project.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/7084357101595976125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/04/rush-just-about-over.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/7084357101595976125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/7084357101595976125'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/04/rush-just-about-over.html' title='Rush just about over'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-3489180900846734399</id><published>2011-02-22T21:26:00.000+00:00</published><updated>2011-02-22T21:26:37.492+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pizza"/><title type='text'>Late working</title><content type='html'>&lt;b&gt;Work keeps getting in the way &lt;/b&gt;&lt;br /&gt;
We started the final sprint before pilot last week. The team reviewed the estimates, and found there was an excess of work over available hours - no surprises there.&lt;br /&gt;
So at least there&#39;s been a sensible solution. A lot of people on the team have young kids (including me), so rather than work weekends and panic in the last week, as a team we voted to stay late Tues and Thurs for the remainder of the sprint. Not great, but better than the alternatives. And at least there&#39;s pizza.&lt;br /&gt;
&lt;br /&gt;
But it does mean there&#39;s almost no time to work on my own project.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/3489180900846734399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/late-working.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3489180900846734399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3489180900846734399'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/late-working.html' title='Late working'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-3080485209118799734</id><published>2011-02-04T21:37:00.000+00:00</published><updated>2011-02-04T21:37:41.886+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source licenses"/><title type='text'>Open Source Licences</title><content type='html'>I&#39;m going to build this whole app by stitching together open source apps and plug-ins, but as this is mine, I better start making sure all licenses are correct. I did get a link to &lt;a href=&quot;http://developer.kde.org/documentation/licensing/licenses_summary.html&quot;&gt;this site &lt;/a&gt;today, which I&#39;ll keep as a handy useful reference.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/3080485209118799734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/open-source-licences.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3080485209118799734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3080485209118799734'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/open-source-licences.html' title='Open Source Licences'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-4195839740922597246</id><published>2011-02-03T21:29:00.004+00:00</published><updated>2011-03-03T22:39:17.937+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hudson"/><category scheme="http://www.blogger.com/atom/ns#" term="UnxUtils"/><title type='text'>Hudson</title><content type='html'>&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/AVvXsEgMxmF6nrKgOO8D8BfLmPu0hdjZ1nujqRckUsZQsFEyHF1p5BoObDxhY3V7t4qwQwjvsWXs4cwzsYdZh8S9-fTm-lzvRn7AOw4UyOJj1PHp4ppc90GE3RLveRcoyPhtYTPN-toY9ONfqZk/s1600/Hudson1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMxmF6nrKgOO8D8BfLmPu0hdjZ1nujqRckUsZQsFEyHF1p5BoObDxhY3V7t4qwQwjvsWXs4cwzsYdZh8S9-fTm-lzvRn7AOw4UyOJj1PHp4ppc90GE3RLveRcoyPhtYTPN-toY9ONfqZk/s320/Hudson1.png&quot; width=&quot;196&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Continuous Integration needed&lt;/b&gt;&lt;br /&gt;
The advantages of a CI server are well documented elsewhere, and life is easier with them, so I decided to use Hudson. Again, I haven&#39;t used this one before, so was keen to see what it was like.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hudson&lt;/b&gt;&lt;br /&gt;
The &lt;a href=&quot;http://hudson-ci.org/&quot;&gt;Hudson &lt;/a&gt;documentation seems good at first pass, so installation onto the Tomcat service on the server box should be straightforward.&lt;br /&gt;
First problem was the installation of the &lt;a href=&quot;http://unxutils.sourceforge.net/&quot;&gt;UnxUtils&lt;/a&gt; utilities required : no reference was made on how to install these. A quick Google search found &lt;a href=&quot;http://www.redantigua.com/unxutils-win.html&quot;&gt;these instructions&lt;/a&gt;. Problem solved.&lt;br /&gt;
&lt;br /&gt;
The best reference I found to set up Hudson on Windows was this &lt;a href=&quot;http://solitarygeek.com/java/hudson-ci-server-a-step-by-step-guide-part-i&quot;&gt;one&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As at the end of tonight, there are still problems getting a build to work. I&#39;ve made two mistakes :&lt;br /&gt;
1. Set the maven home to be the &amp;lt;maven&amp;gt;&lt;maven&gt;/bin&lt;/maven&gt; directory, instead of &amp;lt;maven&amp;gt;&lt;br /&gt;
&lt;pre&gt;&lt;maven&gt;&lt;/maven&gt;&lt;/pre&gt;2. Now getting permgen errors running the build - sigh.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/4195839740922597246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/hudson.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/4195839740922597246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/4195839740922597246'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/hudson.html' title='Hudson'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMxmF6nrKgOO8D8BfLmPu0hdjZ1nujqRckUsZQsFEyHF1p5BoObDxhY3V7t4qwQwjvsWXs4cwzsYdZh8S9-fTm-lzvRn7AOw4UyOJj1PHp4ppc90GE3RLveRcoyPhtYTPN-toY9ONfqZk/s72-c/Hudson1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-3617296634237464658</id><published>2011-02-02T22:49:00.001+00:00</published><updated>2011-03-03T22:43:27.833+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Archiva"/><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat 7"/><title type='text'>Archiva revisited</title><content type='html'>&lt;b&gt;Why revisit ?&lt;/b&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/AVvXsEgn2kZINI1TnAlm6Ap6fuAv0-WqDxYydx4VrsukQXMc5-bNKMifQV9oDDRuODShJMo5FKG5j2zjqZ38mLoxlxFlTxBmeIgQ1EH8YWJNiH8ruEKIxzwIPS3bn5ZbbYRPYAkj-h5Fp2EeIkY/s1600/archiva1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn2kZINI1TnAlm6Ap6fuAv0-WqDxYydx4VrsukQXMc5-bNKMifQV9oDDRuODShJMo5FKG5j2zjqZ38mLoxlxFlTxBmeIgQ1EH8YWJNiH8ruEKIxzwIPS3bn5ZbbYRPYAkj-h5Fp2EeIkY/s1600/archiva1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Last time around I set up Archiva as a stand alone service, on port 8081. This proved easy enough, and I had my first couple of builds, so I started to think about a continuous integration service.&lt;br /&gt;
I&#39;ve set up Cruise Control in a previous job, and had been happy with it. Having looked around, this time round I&#39;m going to use Hudson, and see if it&#39;s as easy to use as the documentation claims.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Web server needed&lt;/b&gt;&lt;br /&gt;
Having looked at Hudson, it can run stand alone, or be deployed to a server. For ease of admin, I decided to put both Archiva and Hudson on the same Tomcat server, and run it as a service. I&#39;ve been using Tomcat 5.0.x for years, none of the companies I&#39;ve worked for have felt the need to move past it, so I may as well jump in and see what Tomcat 7 is like. &lt;br /&gt;
First impressions : bit disappointing really. The familiarity is good, but there isn&#39;t much new for the user there. Compared to the information available through Glassfish or Websphere consoles, it&#39;s poor. There are workarounds, I&#39;ll see if &lt;a href=&quot;http://www.lambdaprobe.org/d/index.htm&quot;&gt;lambda probe&lt;/a&gt; works with T7. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tomcat 7 problems&lt;/b&gt;&lt;br /&gt;
Downloading and installing Tomcat 7 as a service was no problem, and I got Archiva installed as a web app - easy enough when following the  &lt;a href=&quot;http://archiva.apache.org/docs/1.3.3/adminguide/webapp.html&quot;&gt;site documentation&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
One thing to remember when running Archiva on Tomcat as a service : set the parameters in the Tomcat 7 properties dialog box:&lt;br /&gt;
-Dappserver.base=D:\Tomcat 7.0&lt;br /&gt;
-Dappserver.home=D:\Tomcat 7.0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;But&lt;/b&gt;&lt;br /&gt;
When I came back a couple of days later, I found the client couldn&#39;t connect to the server, the dreaded &quot;Server is taking too long to respond&quot; message came back. &lt;br /&gt;
I dread these kid of sys admin problems, no matter how trivial. Anyway, I could ping the Tomcat box, on the right port, but could not get a browser request to work. I uninstalled Tomcat 7. As a comparison I downloaded Tomcat 6, and ran it on a different port : this time no problems. But then to double check, I re installed Tomcat 7, but this time, no issues connecting to the manager app from the client machine.&lt;br /&gt;
So at the end of a night&#39;s work, I&#39;m not really any further forward than I was. I now have Archiva running on a Tomcat 7 service. I need to update my Maven settings to point to the new port, and run a Maven build.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/3617296634237464658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/archiva-revisited.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3617296634237464658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3617296634237464658'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/02/archiva-revisited.html' title='Archiva revisited'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn2kZINI1TnAlm6Ap6fuAv0-WqDxYydx4VrsukQXMc5-bNKMifQV9oDDRuODShJMo5FKG5j2zjqZ38mLoxlxFlTxBmeIgQ1EH8YWJNiH8ruEKIxzwIPS3bn5ZbbYRPYAkj-h5Fp2EeIkY/s72-c/archiva1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-3857934627249464459</id><published>2011-01-27T22:32:00.000+00:00</published><updated>2011-01-27T22:35:20.078+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Archiva"/><category scheme="http://www.blogger.com/atom/ns#" term="Maven"/><title type='text'>Build process</title><content type='html'>&lt;b&gt;Why Maven ?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;I had to decide which build system to use, Ant or Maven. We use Ant at work, and it&#39;s a fairly sophisticated script, using a lot of inheritance and overriding to build the project. I&#39;ve written Ant scripts before, and to be honest, it&#39;s dull and a bit of a ballache. So I decided to try Maven as :&lt;br /&gt;
1. It&#39;s new&lt;br /&gt;
2. It&#39;ll save time on the build dependencies&lt;br /&gt;
3. It integrates with Eclipse through the  &lt;a href=&quot;http://m2eclipse.sonatype.org/&quot;&gt;m2Eclipse plug in&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I figured once it was up and running, it&#39;d save time, and it&#39;s a useful tool to have.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Maven documentation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The Maven documentation isn&#39;t good, it reads like one of those guides that makes more sense after you&#39;ve been using it a while. I&#39;ve hunted through a few blogs, some of which are good, but that&#39;s inevitably fragmented. I&#39;m using Apache Maven 2 Effective Implementation (by Ching and Porter) as my main reference, and it&#39;s proving reasonably useful : better than the initial review on Amazon suggests anyway. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What to use as a Maven repository ? &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Maven generally recommends using a proxy repository, and after checking a good article on &lt;a href=&quot;http://www.theserverside.com/news/1364121/Setting-Up-a-Maven-Repository&quot;&gt;theserverside.com&lt;/a&gt; and the Maven book, decided to check out &lt;a href=&quot;http://archiva.apache.org/&quot;&gt;Archiva &lt;/a&gt;. It&#39;s turned out to be a good find, being very easy to set up and use, with decent documentation. Again, follow the wizards, there isn&#39;t much more to it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Multi module Maven&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
So I started to generate a multi module Maven project. It turned out to be simple using the mvn:generate task, the only thing I&#39;d have liked would be some guide to the archetypes available. For a newbie, the list is large and it&#39;s not clear what&#39;s going to be the best to use.&lt;br /&gt;
I hit one massive problem during the build, where the first module would build, but the second module couldn&#39;t find the first build&#39;s arrtifact, stating the jar could not be found in the local repository. Close review of the logs showed the first module was publishing to the local repository, and I could see it there.&lt;br /&gt;
The problem ? The dependency tag in each module&#39;s pom.xml :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;${project.groupId}&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;maven-importer&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;${project.groupId}&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should have read :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;${project.groupId}&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;maven-importer&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;&amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which drives home the lesson I find most days : it&#39;s almost always something simple.&lt;br /&gt;
&lt;br /&gt;
Still, I now have a working Maven build system, and a local archive.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/3857934627249464459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/build-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3857934627249464459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/3857934627249464459'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/build-process.html' title='Build process'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-8137553161113000203</id><published>2011-01-18T21:55:00.000+00:00</published><updated>2011-01-18T23:15:33.193+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="Tortoise"/><category scheme="http://www.blogger.com/atom/ns#" term="version control"/><title type='text'>Dev environment</title><content type='html'>&lt;b&gt;Version Control Choice&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Even with something basic, version control is too useful to just omit. I decided to go with the latest version of Subversion (&lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;http://subversion.apache.org/&lt;/a&gt;) because&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;I&#39;ve administered small scale repositories before, and learning version control admin isn&#39;t an objective or something I want to spend any time on.&lt;/li&gt;
&lt;li&gt;With TortoiseSVN &lt;a href=&quot;http://tortoisesvn.tigris.org/&quot;&gt;(http://tortoisesvn.tigris.org/&lt;/a&gt;) it integrates nicely into Windows Explorer, and it&#39;s easy to use&lt;/li&gt;
&lt;li&gt;I haven&#39;t tried the Subversion Eclipse plug in, but once it&#39;s up and running, I&#39;ll add this to the IDE.&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Installation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I&#39;ve installed Subversion on the Server machine, and was pretty impressed with the ease of use of Subversion 1.6.13. Previously at work I used a file repository and IIRC it was version 1.4, but setting this new release up as a web server repository proved stunningly easy, simply following the wizards. The browser based front end is pretty good. So now I&#39;ve got a basic installation up and running, only two users (Admin and Dev users), and my first few files booked in, but with the ability to create multiple repositories as I need them.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Repository per project ?&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
I did have an internal debate, whether to go for 1 repository for all projects, or 1 repository per project. I checked the first few links from a Google Search, and, at this point, the 1 repository per project model seems easier. I don&#39;t&amp;nbsp; have any requirements for hook scripts or other cross project concerns at this point, so the admin overhead isn&#39;t a consideration (yet)&lt;br /&gt;
&lt;br /&gt;
So from now on, even dev files, Eclipse settings etc can be tracked and rolled back - useful when I&#39;ll be doing so much experimenting over the next few weeks. Nice.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/8137553161113000203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/dev-environment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/8137553161113000203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/8137553161113000203'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/dev-environment.html' title='Dev environment'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-1750905648535190544</id><published>2011-01-13T21:40:00.000+00:00</published><updated>2011-01-13T21:40:33.709+00:00</updated><title type='text'>Starting points</title><content type='html'>&lt;b&gt;Hardware&lt;/b&gt;&lt;br /&gt;
I&#39;ve currently got a Windows home network, run through a Zoom Modem / Router, with two increasingly old PC&#39;s linked. The oldest is an old Dell Pentium 2.4Ghz, 2 GB of RAM. Not the best, but it&#39;ll do as a host for the database, build system and application servers.&lt;br /&gt;
The other is slightly better HP xw4300 Workstation, 3.2Ghz Pentium D with 3GB of RAM. This is the development machine, but also remains the family PC.&lt;br /&gt;
Right now, I don&#39;t really want to spend any more money on hardware, so options like more RAM, SSD&#39;s etc are out, never mind getting new PC&#39;s. Besides, what I&#39;ve got might not be shiny, but it&#39;ll meet my needs for now. Maybe later or if a windfall comes along, but right now I can&#39;t justify that&amp;nbsp; to the other half. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;OS : Linux or Windows ?&lt;/b&gt;&lt;br /&gt;
I&#39;ve done some Unix before, not much in the last few years, and we&#39;re using Linux at work at the moment. I know I could do&amp;nbsp; Linux VM&#39;s, but, improving my Linux isn&#39;t really an immediate concern,&amp;nbsp; and it&#39;ll just slow me down for a while. I&#39;ll take the easy option and stick with Windows on both. I&#39;ll come back to this later, maybe near the project end, and migrate the server to a Linux distro - no idea which one at this stage.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/1750905648535190544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/starting-points.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/1750905648535190544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/1750905648535190544'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/starting-points.html' title='Starting points'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-976535564450577855.post-7158170217741781128</id><published>2011-01-12T21:40:00.000+00:00</published><updated>2011-01-18T23:16:12.687+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Why am I doing this ?</title><content type='html'>&lt;b&gt;New Year, New Project&lt;/b&gt;&lt;br /&gt;
I&#39;ve started a new software project at home. It&#39;ll be a new web app, a fairly standard view onto a database. The main goal of the project is to give me a chance to play with some frameworks that I haven&#39;t had a chance to work with yet, give some focus to my reading, explore the bits of IT that I have no experience of ( blogging, hosting and domain names came up straight away !) and if at the end of it, there&#39;s an opportunity to make some money out of it, bonus. This blog is to support this project.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What&#39;s the aim of the blog ? &lt;/b&gt;&lt;br /&gt;
In almost every project I&#39;ve been involved in, normally&amp;nbsp; a couple of years afterwards, there&#39;s been a period of reflection and asking &quot;Why did I choose to do it that way ?&quot;&amp;nbsp; The main aim of the blog is to capture those decisions and the rationale behind them. By making it public, there might be a chance to get some external review of the decisions - one of the main problems of a one man project, which does limit the learning experience.&lt;br /&gt;
&lt;br /&gt;
It&#39;s also going to be a place to put links to articles that have contributed to those decisions, problems encountered and the solutions adopted.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;And the name comes from ?&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
The name comes from the hundreds of decisions that will have to be made along the way, and the choices that are open. First steps are going to be to think about the supporting&amp;nbsp; infrastructure, then the stack I&#39;m going to use. &lt;br /&gt;
&lt;br /&gt;
Or at least, that&#39;s the idea anyway.</content><link rel='replies' type='application/atom+xml' href='http://umpteenchoices.blogspot.com/feeds/7158170217741781128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/why-am-i-doing-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/7158170217741781128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/976535564450577855/posts/default/7158170217741781128'/><link rel='alternate' type='text/html' href='http://umpteenchoices.blogspot.com/2011/01/why-am-i-doing-this.html' title='Why am I doing this ?'/><author><name>Scott Marshall</name><uri>http://www.blogger.com/profile/00905863166824926019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslMWyYzOr7SHJnNklJDYRz0RC5TBaA8HSM_gMplzz2oTR08e3rxwCBui9qt6wxaO2bukQOJZPGgBx6_ekyblnlHx4dvf0Fh1Feom1ED3dDS7sTAhTPlzaOkPcpsZj/s220/IMAG0136.jpg'/></author><thr:total>0</thr:total></entry></feed>