<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sonatype Blog &#187; Training</title>
	<atom:link href="http://blog.sonatype.com/people/category/training/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sonatype.com/people</link>
	<description>Sonatype is transforming software development with tools, information and services that enable organizations to build better software, faster, using open-source components.</description>
	<lastBuildDate>Thu, 16 May 2013 18:53:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Nexus Bolsters Component Management Capabilities</title>
		<link>http://blog.sonatype.com/people/2012/11/nexus-bolsters-component-management-capabilities/</link>
		<comments>http://blog.sonatype.com/people/2012/11/nexus-bolsters-component-management-capabilities/#comments</comments>
		<pubDate>Thu, 15 Nov 2012 13:57:20 +0000</pubDate>
		<dc:creator>Manfred Moser</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Component Lifecycle Management]]></category>
		<category><![CDATA[Nexus]]></category>
		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=12497</guid>
		<description><![CDATA[When Maven Repository Managers (MRM) first appeared on developers&#8217; radar, everyone using them immediately saw the benefits. Right off the bat, MRMs replaced cobbled together solutions like shared drives or local Maven repositories copied and exposed via http. Since its release four years ago, Sonatype Nexus has grown to support many repository formats. And most [...]]]></description>
				<content:encoded><![CDATA[<p>When Maven Repository Managers (MRM) first appeared on developers&#8217; radar, everyone using them immediately saw the benefits. Right off the bat, MRMs replaced cobbled together solutions like shared drives or local Maven repositories copied and exposed via http.</p>

<p>Since its release four years ago, Sonatype Nexus has grown to support many repository formats. And most users of build tools including Gradle, Leiningen, SBT and Ant/Ivy have started to realize the numerous benefits of using a repository manager.</p>

<p>Using an MRM has become accepted best practice for Maven users.</p>

<p><span id="more-12497"></span></p>

<p>The benefits of proxying external repositories and deploying third party artifacts are only the beginning. Things really take off when you start deploying your internal components to Nexus, making them immediately available to everyone.</p>

<p><strong>Nexus: More Than Basic Repository Management</strong></p>

<p>Nexus is evolving to help you manage the security and licensing aspects of your components.  In order to show you how, we have made this a focus of the latest release of the book <em><a href="http://www.sonatype.com/Support/Books/Repository-Management-with-Nexus">Repository Management with Nexus</a></em>.</p>

<p>The book now shows you how to <a href="http://www.sonatype.com/books/nexus-book/reference/using-sect-browsing.html#using-sect-insight">access Insight information for a particular artifact</a>. There are <a href="http://www.sonatype.com/books/nexus-book/reference/_using_repository_health_check_results_for_component_lifecycle_management.html">concrete examples </a>on how to inspect and fix security issues, thanks to the information available in your Nexus search results and the linked information on the public security databases.</p>

<p><em>Note: When you read this, don&#8217;t forget to configure your <a href="http://www.sonatype.com/books/nexus-book/reference/confignx-sect-managing-routes.html">Routing</a> correctly to ensure that aspect of your Component Lifecycle Management (CLM) efforts is covered and no information about internal artifacts leaks to the public.</em></p>

<p>Part of your effort to get control over your component usage is to secure your sources. Part of that effort is to start <a href="http://www.sonatype.com/books/nexus-book/reference/confignx-sect-manage-repo.html#confignx-sect-secure-central">using the Central Repository via secured access</a>.</p>

<p>If you are using Nexus Professional this is as easy as upgrading to 2.2 and changing the Remote Storage Location URL. It is also available now for Nexus OSS by getting a <a href="http://www.sonatype.com/people/2012/10/now-available-ssl-connectivity-to-central/">$10 token here </a>and making the same changes. Other repository managers will be supported soon.</p>

<p><strong>Nexus 2.2 Now Included in Nexus Book</strong></p>

<p>We have also <a href="https://issues.sonatype.org/secure/ReleaseNote.jspa?projectId=10154&amp;version=12921">made improvements and general updates</a> to cover the latest Nexus 2.2 release. Among the topics changed are settings.xml setup explanations, documentation for capabilities, updates to the plugin creation chapter and many more.</p>

<p>Still, with all these improvements we realize that nothing is perfect and you might have questions or ideas for enhancing the book. If that’s the case, we encourage you <a href="https://issues.sonatype.org/browse/NXBOOK">to file issues with your wishes</a> or attend one of our <a href="http://www.sonatype.com/Services/Training/Nexus-Best-Practices">Nexus training classes</a>. Also, don&#8217;t forget that <a href="https://github.com/sonatype/nexus-book">the book is open source</a> and we do take fixes as pull requests.</p>

<p><strong>Component Lifecycle Management is Key</strong></p>

<p>These improvements to Nexus are part of a larger <a href="http://www.sonatype.com/Products/Why-Sonatype/Component-Lifecycle-Management">Component Lifecycle Management</a> solution that is provided by Sonatype. CLM helps you ensure the integrity of component-based software by analyzing usage and providing governance and policy enforcement during development.</p>

<p>As demonstrated by these Nexus improvements, CLM is integrated directly into your development infrastructure &#8211; including IDE, CI and repository manager tool of choice.</p>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2012/11/nexus-bolsters-component-management-capabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You&#8217;re Using Maven 2 &#8211; Are You Sure?</title>
		<link>http://blog.sonatype.com/people/2012/09/youre-using-maven-2-are-you-sure/</link>
		<comments>http://blog.sonatype.com/people/2012/09/youre-using-maven-2-are-you-sure/#comments</comments>
		<pubDate>Thu, 13 Sep 2012 13:07:46 +0000</pubDate>
		<dc:creator>Manfred Moser</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[m2eclipse]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=12095</guid>
		<description><![CDATA[When training the Maven Fundamentals or Advanced Maven Techniques classes or reading the Apache Maven users mailing list, it seems that again and again Maven 2 pops up. Sometimes even the long dead Maven 1 creeps up now and then.  Usually my first two questions to somebody using Maven 2 are Why? and Are you sure? The [...]]]></description>
				<content:encoded><![CDATA[<p>When training <a href="http://sonatype.com/Services/Training">the Maven Fundamentals or Advanced Maven Techniques classes</a> or reading the Apache Maven users mailing list, it seems that again and again Maven 2 pops up. Sometimes even the long dead Maven 1 creeps up now and then.  Usually my first two questions to somebody using Maven 2 are <em>Why? </em>and<em> Are you sure?</em><em></em></p>

<p><span id="more-12095"></span></p>

<p>The answer to the &#8220;Why?&#8221; is often a mumbling about not enough time to upgrade and upon closer inspection,  I find that it was never honestly tried. It seems there is still a perception out there that Maven 3 is a new major version and is largely incompatible. However &#8211; that is completely false! It was true way back when Maven 1 was replaced by Maven 2, but is not true for the move to Maven 3. In fact, apart from a few minor edge cases, Maven 3 will work as a complete drop in replacement for Maven 2 with improved performance, better error reporting and many more enhancements.</p>

<p>One of the main goals for Maven 3 was to make it more suitable for embedding Maven in tools like an IDE or a CI server. This brings me to the second question &#8220;Are you sure?&#8221;. When asking about the IDE used for development on the project in question, the most frequent answer is <a href="http://eclipse.org/downloads/">Eclipse</a>. I then find that a stock install of Eclipse with the <a href="http://www.sonatype.org/m2eclipse">m2Eclipse</a> plugin, as provided in the last two Eclipse releases, is used. These integrations embed Maven 3 and therefore any work you do with your project in the IDE is actually using Maven 3. Assuming that it works, you are ready to move to Maven 3 on the command line. That is pretty much always the case since how would the developers otherwise do any work?</p>

<p>Now some people object that they have in fact configured Eclipse to use an external install of Maven 2. While that is correct and works for any execution of Maven from Eclipse that uses the &#8220;Run/Debug as Maven&#8221; features you are still using Maven 3 in many cases. In fact, compilation of your source on the fly, any POM editor work as well as &#8220;Run As &#8211; junit-tests&#8221; and &#8220;Run As &#8211; Java Application&#8221; is still being done by the embedded Maven 3. So whatever you do&#8230;you will most likely have Maven 3 in the mix. And realistically a mixed use case like that will be more complex and troublesome than an outright upgrade to Maven 3. Try it!</p>

<p>Writing extensions for sophisticated integrations and plugins like <a href="http://www.sonatype.org/tycho">Tycho</a> used for Eclipse and OSGi related development with Maven OS is in fact only possible with Maven 3 and therefore you may already be using Maven 3 for use cases like this.</p>

<p>With this knowledge and understanding you should now be ready to install Maven 3 and benefit from its increased performance and maybe fix some of the errors in your pom that it will find. While you&#8217;re at it, you should probably start creating a company POM and controlling your plugin versions used in your Maven builds. Then you could upgrade e.g. to the new Maven Compiler Plugin 2.5.1 and get another performance boost for your builds. To make sure that nobody sneaks in the creaky Maven 2, you could introduce a Maven Enforcer Plugin usage &#8230;</p>

<p>If you would like to learn more about Maven usage tips and tricks, you can join me in one of our upcoming <a href="http://www.sonatype.com/Services/Training" target="_blank">virtual Maven training</a> classes. &#8212; Or join me in our upcoming Nexus virtual training class to find out why and how you should really be using a repository manager with any build system that has built in dependency management (and they all do today).</p>

<p>See you then,</p>

<p><em>manfred</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2012/09/youre-using-maven-2-are-you-sure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Often,) You People are Too Smart to Train</title>
		<link>http://blog.sonatype.com/people/2012/08/often-you-people-are-too-smart-to-train/</link>
		<comments>http://blog.sonatype.com/people/2012/08/often-you-people-are-too-smart-to-train/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 15:36:49 +0000</pubDate>
		<dc:creator>Tim O'Brien</dc:creator>
				<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=11960</guid>
		<description><![CDATA[I don&#8217;t often teach our training classes in Maven or Nexus, but when I do, I always tend to get interesting classes. I&#8217;m halfway through a on site training class today that, so far, has stood out as a unique experience for me as a trainer. Usually you set up your slides, hand out the [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.sonatype.com/people/wp-content/uploads/2012/08/blog_header_tooSmart2.png" alt="Too smart to train?" title="blog_header_tooSmart" width="700" height="200" class="alignleft size-full wp-image-11969" style="padding-bottom:20px;"/></p>

<p>I don&#8217;t often teach our training classes in Maven or Nexus, but when I do, I always tend to get interesting classes.   I&#8217;m halfway through a on site training class  today that, so far, has stood out as a unique experience for me as a trainer.   Usually you set up your slides, hand out the materials, and start running through the content.   It often takes a class and an instructor an hour to find a good cadence for teaching and answering questions.   One metric I keep track of is the amount of time spent delivering content from slides vs. the amount of time spent answering questions.  I strive for 75/25 &#8211; 3/4 of the class is focusing on content, 1/4 of the class is focused on answer student questions.</p>

<p>The first thing I do in my classes is implore (literally plead) with the students to interrupt me. &#8220;Ask questions.  If you don&#8217;t this class won&#8217;t be valuable to you.&#8221;   I do this because all too often I have a class of students that seems reticent to ask question or interrupt.   Who knows why, maybe they don&#8217;t want to ask a dumb question (those don&#8217;t exist), maybe they are taking the class with a manager and they don&#8217;t want to look bad?   Whatever the case, silence is the worst thing an instructor can get in response to the question: &#8220;Are there any questions?&#8230;.. no?&#8230;.. anyone?  Ok. Anyone want to make a statement?&#8230;. no?  alright, let&#8217;s move on&#8230;&#8221;</p>

<p><span id="more-11960"></span></p>

<p>The worst classes for an instructor are the classes that sit, silently listening to the slide content.  Maybe they nod every once in a while, but it is impossible to read them.   8 out of 10 times you&#8217;ll get some feedback from some in these classes that the class didn&#8217;t meet their needs because it didn&#8217;t focus on X, Y, or Z.   (My first response to this is always, &#8220;did they ask questions?&#8221;)   In these classes, the instructor doesn&#8217;t learn anything from the experience, and reading slides for 7-8 hours is torture.  I like questions, and I thrive on difficult questions and people that need convincing.  The best Maven training classes have at least one or two students that want to talk about some difficult topic like Ant Migration or how to use Gradle.</p>

<p>What I&#8217;m trying to say is that I hate &#8220;teaching&#8221; a training class, I&#8217;d much prefer to engage a in back-an-forth because this is what I think training should be  I don&#8217;t go as far as using the Socratic method to elicit participation because there&#8217;s just too much content to cover, but I want someone to stop me midsentence and ask a question like: &#8220;Why?  Justify that statement about dependencies.  I don&#8217;t agree with that.&#8221;   Our content is purposefully designed to get a response from the students, and our trainers are trained not to deliver the content but to know everything there is to know about the topic.   This is the only way to teach a topic.</p>

<p>On Tuesday I started our training class, as I normally do.   I asked every student to introduce themselves and talk about what they wanted to gain from the class.   After 10 seconds of this I could tell this wasn&#8217;t going to be  a normal Maven 101 experience.</p>

<p><b>Me:</b> &#8220;Ok, so introduce your self and tell me what you are trying to get from the class?&#8221;</p>

<p><b>Typical response from this class:</b> &#8220;We running a Jenkins build with over five thousand builds and we&#8217;re having specific problems with the -U flag.  We need to find a way to write both a custom Nexus plugin and a custom Maven plugin to change the way the CI server works with the respository.   Also we&#8217;ve tested Smart Proxy and we have some feedback&#8230;&#8230;.</p>

<p>This continued for about ten students, and this is the moment in time where the instructor stands there, blinking, and wonders why any of them are in a Maven 101 class.   While I do think that everyone *can* benefit from a return to the basics, I was teaching a room full of developers that were likely more qualified than some of the people on the Maven committer list to discuss Maven internals.</p>

<p>In these cases, our trainers, myself included, are taught to adapt quickly.  I wasn&#8217;t going to dwell on the 101 content, I was going to run through it, but skip the sections that made no sense for this audience.   For example, if everyone in the room has had experience writing a custom Maven plugin, I&#8217;m fairly certain they know what an artifact coordinate is, and I&#8217;m also sure they understand how to install Maven.   Because our training material is modular, our instructors have the ability to mix and match content if they find themselves standing in front of a class that is way too smart to train .</p>

<p>When all your students understand Maven basics and even most advanced Maven topics, the class turns into a seminar on best practices and a discussion.   Instead of talking about what a dependency is, you end up getting realtime feedback about how Maven works &#8211; &#8220;You know it would be much easier if we could change how the updatePolicy worked, how do we do that&#8221; or &#8220;m2eclipse lifecycle mapping is a real pain in the neck&#8221; (an observation I agree with BTW).   The class I was about to teach turns into a conversation, and I&#8217;m detailing best practices about deployment.</p>

<p>Now this doesn&#8217;t work for all training classes.  Especially our virtual training, on our virtual training it is difficult to change the flow of the class because we do have people who approach us who have never used Maven, and we&#8217;re usually teaching to multiple companies.   This &#8220;seminar&#8221; approach isn&#8217;t appropriate if members of your team need to drill into the basic of Maven, it only really works well when everyone in the class has demonstrated a solid baseline.</p>

<p>Generally, I&#8217;m noticing this more and more.  Nexus and Maven are so widespread and so well regarded that people understand the concepts already.   This wasn&#8217;t the case when we started five years ago.   These days I walk into a place and several of the students are already sold on the imperative to run a repository manager.   They used our online documentation to bring themselves up to the point where they are often too smart to train.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2012/08/often-you-people-are-too-smart-to-train/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sonatype October Newsletter</title>
		<link>http://blog.sonatype.com/people/2011/10/sonatype-october-newsletter/</link>
		<comments>http://blog.sonatype.com/people/2011/10/sonatype-october-newsletter/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 16:16:51 +0000</pubDate>
		<dc:creator>Terry Bernstein</dc:creator>
				<category><![CDATA[Insight]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[Sonatype]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[newsletter]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=9293</guid>
		<description><![CDATA[Read about the latest Sonatype developments in our October Newsletter, which you can read here. The newsletter includes the following stories: Sonatype Insight: Get the Back Story on Our New Product New Nexus Training Available Now Webinar: Increase Benefits and Reduce Risk of Open Source Recently on Our Blog: Why You Need to Monitor Your Components Maven [...]]]></description>
				<content:encoded><![CDATA[<p>Read about the latest Sonatype developments in our October Newsletter, which you can read <a href="http://app.en25.com/e/es.aspx?s=1886&amp;e=fcde5c3b-9006-4d48-9b6b-595cfc6e1f9f">here</a>.</p>

<p>The newsletter includes the following stories:</p>

<ul>
    <li>Sonatype Insight: Get the Back Story on Our New Product</li>
    <li>New Nexus Training Available Now</li>
    <li>Webinar: Increase Benefits and Reduce Risk of Open Source</li>
    <li>Recently on Our Blog: Why You Need to Monitor Your Components</li>
    <li>Maven Training Dates</li>
</ul>

<p>If you would like to get on our mailing list so you&#8217;ll receive the newsletter automatically, please <a href="http://app.en25.com/e/er.aspx?s=1886&amp;lid=162&amp;elq=00000000000000000000000000000000">subscribe here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2011/10/sonatype-october-newsletter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New virtual Nexus training class available</title>
		<link>http://blog.sonatype.com/people/2011/09/new-virtual-nexus-training-class-available/</link>
		<comments>http://blog.sonatype.com/people/2011/09/new-virtual-nexus-training-class-available/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 14:31:36 +0000</pubDate>
		<dc:creator>Emily Blades</dc:creator>
				<category><![CDATA[Nexus]]></category>
		<category><![CDATA[Sonatype]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Nexus Best Practices]]></category>
		<category><![CDATA[Sonatype training]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=8909</guid>
		<description><![CDATA[We&#8217;ve had many requests for a Nexus class and are pleased to announce that we have added Nexus Best Practices to our Sonatype Virtual Training lineup. Nexus Best Practices will give you the knowledge and practical instruction to get the most from your Nexus repository. Take this class to get up to speed quickly, gain [...]]]></description>
				<content:encoded><![CDATA[<p>We&#8217;ve had many requests for a Nexus class and are pleased to announce that we have added <strong><em>Nexus Best Practices</em></strong> to our Sonatype Virtual Training lineup.</p>

<p><strong><em>Nexus Best Practices</em></strong> will give you the knowledge and practical instruction to get the most from your Nexus repository. Take this class to get up to speed quickly, gain better control over your component usage, and see faster build times.</p>

<p>This virtual class is ideal for individuals and teams who are looking to get up to speed with Nexus quickly. It is also appropriate for existing Nexus users who are interested in gaining a greater understanding of the fundamentals, as well as advanced techniques and tips and tricks.</p>

<p>After this course, you will:</p>

<ul>
    <li>Understand all of the benefits of using a repository manager</li>
    <li>Be proficient with installation and maintenance of your Nexus instance</li>
    <li>Use the Nexus user interface effectively as both a user and an administrator</li>
    <li>Support Nexus as a key component of your enterprise development infrastructure</li>
    <li>Gain control over the artifacts that can be proxied from external Maven repositories</li>
    <li>Understand how to use Nexus to support staged releases</li>
</ul>

<p>Our first class is scheduled for Thursday, October 20 from 11:00AM-5PM EDT (GMT-0400).</p>

<h3><a href="http://www.sonatype.com/stshop/add/658/1?training=source&amp;utm_source=blog&amp;utm_medium=blog&amp;utm_campaign=1109-nexus-training&amp;utm_content=post-title">Enroll today</a></h3>

<h3><a href="http://sonatype.com/Services/Training/Nexus-Best-Practices?training=sourceblog">Learn more</a></h3>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2011/09/new-virtual-nexus-training-class-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Training questions answered: Checksums, SSH keys, writing plugins</title>
		<link>http://blog.sonatype.com/people/2011/01/training-questions-answered-checksums-ssh-keys-writing-plugins/</link>
		<comments>http://blog.sonatype.com/people/2011/01/training-questions-answered-checksums-ssh-keys-writing-plugins/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 16:30:33 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Sonatype]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Checksum]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Sonatype training]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=7190</guid>
		<description><![CDATA[You&#8217;ve probably heard that Sonatype teaches a series of online Maven training classes. They are a great way to get you and your team up and running on Maven, and if you have any specific questions we also make sure to leave some space in the class to answer any questions you might have. In [...]]]></description>
				<content:encoded><![CDATA[<p>You&#8217;ve probably heard that Sonatype teaches a series of online <a href="http://www.sonatype.com/training.html" target="_blank">Maven training classes</a>.  They are a great way to get you and your team up and running on Maven, and if you have any specific questions we also make sure to leave some space in the class to answer any questions you might have. In my experience, the students that get the most from our classes are the students that ask questions.</p>

<p>In this post, I answer some of the questions that came up in our last training session.</p>

<p><span id="more-7190"></span></p>

<p><strong>Q: Is there a flag to echo the md5/sha1 checksum during deployment?</strong></p>

<p>Not directly via the deploy plugin flags, but with a separate plugin: <a href="http://code.google.com/p/maven-checksum-plugin/" target="_blank">http://code.google.com/p/maven-checksum-plugin/</a>.  Checksums can be created during install if desired, <a href="http://maven.apache.org/plugins/maven-install-plugin/examples/installing-checksums.html" target="_blank">click here</a> to read the Maven documentation about this method.  Checksums can be calculated using typical POSIX tooling (md5sum) and shell scripts as well.</p>

<p><strong>Q: How do I select a SSH Private Key to use for SCP file transfers?</strong></p>

<p>This is answered in the Maven Documentation <a href="http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html" target="_blank">here</a>.  Also, Pascal Thivent, a very active Maven expert on Stackoverflow, has a great answer for this on StackOverflow <a href="http://stackoverflow.com/questions/2733447/can-maven-wagon-plugin-use-a-private-key-for-scp" target="_blank">here</a>.   The answer is that you can specify which private SSH key to use in the server element of your Maven settings as follows:</p>

<pre>&lt;server&gt;
        &lt;id&gt;myserver&lt;/id&gt;
        &lt;username&gt;matthewmccullough&lt;/username&gt;
        &lt;privateKey&gt;~/mykeys/id_rsa&lt;/privateKey&gt;
        &lt;passphrase&gt;myphrase&lt;/passphrase&gt;
&lt;/server&gt;
</pre>

<p><strong>Q: For an Ivy repository, how can an artifact be retrieved from Maven?</strong></p>

<p>If the canonical repository format is Maven, then Ivy is really acting in compatibility mode with Maven and all is well.  However, if the repository is in Ivy format (no pom.xml files), the story is a bit more rough: <a href="http://markmail.org/message/ohmlv5mk7j7i4smf" target="_blank">http://markmail.org/message/ohmlv5mk7j7i4smf</a>. My observation is that even when folks are using other build tools like Ivy, Ant, Gradle, Buildr and Leiningen, they typically all agree on the Maven repository format. Most if not all of the build tools recognize and thus have a &#8220;Maven repo reading&#8221; compatibility.</p>

<p>Note: as the community moves forward on the Aether library, you should see tools start to either converge on best practices when it comes to repository access or get left behind it they decide to interact with repositories in a non-standard way.   Tools that interact with Maven repositories should all be using Aether.</p>

<p><strong>Q: Are there any tutorials about writing maven plugins?</strong></p>

<p>Yes, here are two good sources of information:</p>

<ul>
    <li><strong>The Apache guide:</strong> <a href="http://maven.apache.org/guides/plugin/guide-java-plugin-development.html" target="_blank">click here</a></li>
    <li><strong>The Sonatype book:</strong> <a href="http://www.sonatype.com/books/mvnref-book/reference/writing-plugins.html" target="_blank">click here</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2011/01/training-questions-answered-checksums-ssh-keys-writing-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven training dates added in February</title>
		<link>http://blog.sonatype.com/people/2011/01/maven-training-dates-added-in-february/</link>
		<comments>http://blog.sonatype.com/people/2011/01/maven-training-dates-added-in-february/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 16:43:16 +0000</pubDate>
		<dc:creator>hloney</dc:creator>
				<category><![CDATA[Sonatype]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[MVN-101]]></category>
		<category><![CDATA[Sonatype training]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=7068</guid>
		<description><![CDATA[Due to incredible demand for Sonatype&#8217;s Maven training courses, we have added an additional training date to the February schedule. On February 22, 2011 we will be holding an extra session of Maven 101: Maven Mechanics. This course is the premier Java developer training course. It covers Maven installation and configuration, explains the motivation behind [...]]]></description>
				<content:encoded><![CDATA[<p><!--dzoneZ=none-->Due to incredible demand for Sonatype&#8217;s Maven training courses, we have added an additional training date to the February schedule.</p>

<p>On February 22, 2011 we will be holding an extra session of <a href="http://www.sonatype.com/mvn---101-maven-mechanics.html" target="_blank">Maven 101: Maven Mechanics</a>. This course is the premier Java developer training  course. It covers Maven installation and configuration,  explains the motivation behind Maven and gives an overview of related  development tools. You will leave this Maven tutorial equipped with a  full understanding of the Maven Project Object Model (POM) and a firm  grasp of the underlying fundamentals of this development kit.</p>

<p><a href="http://store.sonatype.com/training/maven-mechanics" target="_blank">Enroll in MVN-101 </a>today before spaces fill up!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2011/01/maven-training-dates-added-in-february/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon&#039;s AWS Powers Sonatype&#039;s On-demand Training Infrastructure</title>
		<link>http://blog.sonatype.com/people/2010/04/amazons-aws-powers-sonatypes-on-demand-training-infrastructure/</link>
		<comments>http://blog.sonatype.com/people/2010/04/amazons-aws-powers-sonatypes-on-demand-training-infrastructure/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 14:54:31 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[m2eclipse]]></category>
		<category><![CDATA[Sonatype]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=4926</guid>
		<description><![CDATA[Sonatype uses the Amazon Web Services Elastic Compute Cloud, better known as EC2, for all our training lab machines. Most of our students use a training workstation for 3-4 hours per class, and since we often have bursts of custom training activity it just wouldn&#8217;t make sense for us to own real, physical hardware to [...]]]></description>
				<content:encoded><![CDATA[<p>Sonatype uses the <a href="http://aws.amazon.com/">Amazon Web Services Elastic Compute Cloud</a>, better known as EC2, for all our training lab machines.  Most of our students use a training workstation for 3-4 hours per class, and since we often have bursts of custom training activity it just wouldn&#8217;t make sense for us to own real, physical hardware to support training.   If we were maintaining our own hardware, we would have to either maintain enough capacity to teach several classes simultaneously, or we would have to limit the number of classes we deliver.  For Sonatype&#8217;s training effort,  instantiating machines as they are needed is the right thing to do and is exactly what the cloud is designed for.</p>

<p>Sonatype has leveraged AWS&#8217;s great set of command line APIs and written scripts on top of them.  We just invoke &#8220;instantiate-lab-machines-small.sh 10&#8243; and poof, we have a set of pristine machines for the students, all running VNC as a service (for remote desktop access) and pre-setup with the latest version of Maven, Eclipse, and the m2eclipse plugin.  No teardown.  No hardware maintenance.  No hassle.  We even have a subsequent script that lists out the machines hostnames for each copy-and-paste into the email that goes out to the students.</p>

<p>While our overhead for training infrastructure is smaller than it has ever been, our use of AWS is about much more than just the reduction in cost associated with cloud-based hardware, we&#8217;re much more agile because it takes us 10 minutes to create infrastructure. I don&#8217;t even want to imagine owning these lab machines.  As our training offerings expand, we&#8217;ll be using more and more of these lab machines.  I can foresee a day when we&#8217;ll literally have a set of AWS machines up around the clock to serve our training offerings.  Until then, it&#8217;s pay by the hour &#8212; the raison d&#8217;etre for cloud based offerings.</p>

<p>Click <a href="http://www.sonatype.com/training">here</a> for more information about <a href="http://www.sonatype.com/training">Sonatype Training</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2010/04/amazons-aws-powers-sonatypes-on-demand-training-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
