<?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>devnulled &#187; Tips, Hacks, &amp; Tricks</title>
	<atom:link href="http://devnulled.com/topics/culture/tips-hacks-tricks/feed/" rel="self" type="application/rss+xml" />
	<link>http://devnulled.com</link>
	<description>devnulled provides news, tips, resources, and articles about various topics that software developers and engineers enjoy.</description>
	<lastBuildDate>Wed, 18 Aug 2010 06:20:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Running Jetty 7 on Port 80 With Maven</title>
		<link>http://devnulled.com/content/2010/08/running-jetty-7-on-port-80-with-maven/</link>
		<comments>http://devnulled.com/content/2010/08/running-jetty-7-on-port-80-with-maven/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 06:20:43 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jetty]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[jetty]]></category>
		<category><![CDATA[jetty 7]]></category>
		<category><![CDATA[jetty connector]]></category>
		<category><![CDATA[mvn]]></category>
		<category><![CDATA[mvn jetty:run]]></category>
		<category><![CDATA[port 80]]></category>

		<guid isPermaLink="false">http://devnulled.com/?p=795</guid>
		<description><![CDATA[I think Jetty is one of the best kept secrets in the Java world, in particular for getting a quick container up and running with full integration with Maven for local testing of Java based web applications. I was doing a non-stock configuration of Jetty 7 and Maven today which took way too much Googling [...]]]></description>
			<content:encoded><![CDATA[<p>I think <a href="http://www.eclipse.org/jetty/">Jetty</a> is one of the best kept secrets in the Java world, in particular for getting a quick container up and running with full integration with <a href="http://maven.apache.org/">Maven</a> for local testing of Java based web applications.  I was doing a non-stock configuration of Jetty 7 and Maven today which took way too much Googling to get working (mostly to custom configure the connector), so I thought I'd document the process for those looking for the same thing.  If you're looking how to get Jetty 7 working on Port 80 (particularly on Linux or OS X) with Maven, you're in the right place.  As of the time of writing, the latest stable release of Jetty looks to be 7.1.6.v20100715.</p>
<p>The three minor hurdles to configuring Jetty 7 and Maven are making sure port 80 is not already taken, getting the right connector implementation configured, and running Maven as sudo so that Jetty has permission to run on Port 80.  In OS X, you can see if anything is already running on port 80 by running the following command from Terminal:</p>
<div class="igBar"><span id="lcode-4"><a href="#" onclick="javascript:showCodeTxt('code-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-4">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">sudo lsof -i -P | grep -i listen </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>If you're on OS X and see something running on Port 80 yet you didn't install a webserver, chances are it's Sharing.  Go to System Preferences > Sharing and disable it.  Otherwise, figure out what process is running on port 80 and make it go away.</p>
<p>Now to configure the Jetty Maven plug-in, here is what my configuration looks like which you should replicate in your pom.xml under the plugins section (and adjust to your particular directory structure and desired context):</p>
<div class="igBar"><span id="lcode-5"><a href="#" onclick="javascript:showCodeTxt('code-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-5">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;plugin&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;groupid&gt;org.<span style="">mortbay</span>.<span style="">jetty</span>&lt;/groupid&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;artifactid&gt;jetty-maven-plugin&lt;/artifactid&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;version&gt;<span style="color:#800000;color:#800000;">7</span>.<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">6</span>.<span style="">v20100715</span>&lt;/version&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;configuration&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;connectors&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;connector implementation=<span style="color:#CC0000;">"org.eclipse.jetty.server.nio.SelectChannelConnector"</span>&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;port&gt;<span style="color:#800000;color:#800000;">80</span>&lt;/port&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/connector&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/connectors&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;webappsourcedirectory&gt;$<span style="color:#006600; font-weight:bold;">&#123;</span>basedir<span style="color:#006600; font-weight:bold;">&#125;</span>/resources/war&lt;/webappsourcedirectory&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;scanintervalseconds&gt;<span style="color:#800000;color:#800000;">10</span>&lt;/scanintervalseconds&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;webappconfig&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;contextpath&gt;/&lt;/contextpath&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/webappconfig&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;/configuration&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/plugin&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>One of the difficulties I encountered was getting the connector working correctly.  Since Maven has moved to be an Eclipse project, the package structure for the connector has changed and thus the reason most of the existing documentation on getting custom connectors to work did not work for me.</p>
<p>The last remaining hurdle to overcome is that running a standard “mvn jetty:run” doesn't work on OS X (and likely Linux as well). You'll see the error message “Embedded error: Permission denied”.  If you run Maven with error stacktraces enabled, you'll see an exception that looks like this:</p>
<div class="igBar"><span id="lcode-6"><a href="#" onclick="javascript:showCodeTxt('code-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-6">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> Jetty server exiting.</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> ------------------------------------------------------------------------</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>ERROR<span style="color:#006600; font-weight:bold;">&#93;</span> BUILD ERROR</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> ------------------------------------------------------------------------</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> Failure</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Embedded error: Permission denied</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> ------------------------------------------------------------------------</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> Trace</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">LifecycleExecutionException</span>: Failure</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">executeGoals</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">719</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">executeStandaloneGoal</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">569</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">executeGoal</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">539</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">executeGoalAndHandleFailures</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">387</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">executeTaskSegments</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">348</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">execute</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">180</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">DefaultMaven</span>.<span style="">doExecute</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultMaven.<span style="">java</span>:<span style="color:#800000;color:#800000;">328</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">DefaultMaven</span>.<span style="">execute</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultMaven.<span style="">java</span>:<span style="color:#800000;color:#800000;">138</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">cli</span>.<span style="">MavenCli</span>.<span style="">main</span><span style="color:#006600; font-weight:bold;">&#40;</span>MavenCli.<span style="">java</span>:<span style="color:#800000;color:#800000;">362</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">cli</span>.<span style="">compat</span>.<span style="">CompatibleMain</span>.<span style="">main</span><span style="color:#006600; font-weight:bold;">&#40;</span>CompatibleMain.<span style="">java</span>:<span style="color:#800000;color:#800000;">60</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at sun.<span style="">reflect</span>.<span style="">NativeMethodAccessorImpl</span>.<span style="">invoke0</span><span style="color:#006600; font-weight:bold;">&#40;</span>Native Method<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at sun.<span style="">reflect</span>.<span style="">NativeMethodAccessorImpl</span>.<span style="">invoke</span><span style="color:#006600; font-weight:bold;">&#40;</span>NativeMethodAccessorImpl.<span style="">java</span>:<span style="color:#800000;color:#800000;">39</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at sun.<span style="">reflect</span>.<span style="">DelegatingMethodAccessorImpl</span>.<span style="">invoke</span><span style="color:#006600; font-weight:bold;">&#40;</span>DelegatingMethodAccessorImpl.<span style="">java</span>:<span style="color:#800000;color:#800000;">25</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at java.<span style="">lang</span>.<span style="">reflect</span>.<span style="">Method</span>.<span style="">invoke</span><span style="color:#006600; font-weight:bold;">&#40;</span>Method.<span style="">java</span>:<span style="color:#800000;color:#800000;">597</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">codehaus</span>.<span style="">classworlds</span>.<span style="">Launcher</span>.<span style="">launchEnhanced</span><span style="color:#006600; font-weight:bold;">&#40;</span>Launcher.<span style="">java</span>:<span style="color:#800000;color:#800000;">315</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">codehaus</span>.<span style="">classworlds</span>.<span style="">Launcher</span>.<span style="">launch</span><span style="color:#006600; font-weight:bold;">&#40;</span>Launcher.<span style="">java</span>:<span style="color:#800000;color:#800000;">255</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">codehaus</span>.<span style="">classworlds</span>.<span style="">Launcher</span>.<span style="">mainWithExitCode</span><span style="color:#006600; font-weight:bold;">&#40;</span>Launcher.<span style="">java</span>:<span style="color:#800000;color:#800000;">430</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">codehaus</span>.<span style="">classworlds</span>.<span style="">Launcher</span>.<span style="">main</span><span style="color:#006600; font-weight:bold;">&#40;</span>Launcher.<span style="">java</span>:<span style="color:#800000;color:#800000;">375</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Caused by: org.<span style="">apache</span>.<span style="">maven</span>.<span style="">plugin</span>.<span style="">MojoExecutionException</span>: Failure</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">mortbay</span>.<span style="">jetty</span>.<span style="">plugin</span>.<span style="">AbstractJettyMojo</span>.<span style="">startJetty</span><span style="color:#006600; font-weight:bold;">&#40;</span>AbstractJettyMojo.<span style="">java</span>:<span style="color:#800000;color:#800000;">462</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">mortbay</span>.<span style="">jetty</span>.<span style="">plugin</span>.<span style="">AbstractJettyMojo</span>.<span style="">execute</span><span style="color:#006600; font-weight:bold;">&#40;</span>AbstractJettyMojo.<span style="">java</span>:<span style="color:#800000;color:#800000;">377</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">mortbay</span>.<span style="">jetty</span>.<span style="">plugin</span>.<span style="">JettyRunMojo</span>.<span style="">execute</span><span style="color:#006600; font-weight:bold;">&#40;</span>JettyRunMojo.<span style="">java</span>:<span style="color:#800000;color:#800000;">577</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">plugin</span>.<span style="">DefaultPluginManager</span>.<span style="">executeMojo</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultPluginManager.<span style="">java</span>:<span style="color:#800000;color:#800000;">490</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">apache</span>.<span style="">maven</span>.<span style="">lifecycle</span>.<span style="">DefaultLifecycleExecutor</span>.<span style="">executeGoals</span><span style="color:#006600; font-weight:bold;">&#40;</span>DefaultLifecycleExecutor.<span style="">java</span>:<span style="color:#800000;color:#800000;">694</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; ... <span style="color:#800000;color:#800000;">17</span> more</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Caused by: java.<span style="">net</span>.<span style="">SocketException</span>: Permission denied</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at sun.<span style="">nio</span>.<span style="">ch</span>.<span style="">Net</span>.<span style="">bind</span><span style="color:#006600; font-weight:bold;">&#40;</span>Native Method<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at sun.<span style="">nio</span>.<span style="">ch</span>.<span style="">ServerSocketChannelImpl</span>.<span style="">bind</span><span style="color:#006600; font-weight:bold;">&#40;</span>ServerSocketChannelImpl.<span style="">java</span>:<span style="color:#800000;color:#800000;">119</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at sun.<span style="">nio</span>.<span style="">ch</span>.<span style="">ServerSocketAdaptor</span>.<span style="">bind</span><span style="color:#006600; font-weight:bold;">&#40;</span>ServerSocketAdaptor.<span style="">java</span>:<span style="color:#800000;color:#800000;">59</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">eclipse</span>.<span style="">jetty</span>.<span style="">server</span>.<span style="">nio</span>.<span style="">SelectChannelConnector</span>.<span style="">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>SelectChannelConnector.<span style="">java</span>:<span style="color:#800000;color:#800000;">209</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">eclipse</span>.<span style="">jetty</span>.<span style="">server</span>.<span style="">nio</span>.<span style="">SelectChannelConnector</span>.<span style="">doStart</span><span style="color:#006600; font-weight:bold;">&#40;</span>SelectChannelConnector.<span style="">java</span>:<span style="color:#800000;color:#800000;">289</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">eclipse</span>.<span style="">jetty</span>.<span style="">util</span>.<span style="">component</span>.<span style="">AbstractLifeCycle</span>.<span style="">start</span><span style="color:#006600; font-weight:bold;">&#40;</span>AbstractLifeCycle.<span style="">java</span>:<span style="color:#800000;color:#800000;">55</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">eclipse</span>.<span style="">jetty</span>.<span style="">server</span>.<span style="">Server</span>.<span style="">doStart</span><span style="color:#006600; font-weight:bold;">&#40;</span>Server.<span style="">java</span>:<span style="color:#800000;color:#800000;">253</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">mortbay</span>.<span style="">jetty</span>.<span style="">plugin</span>.<span style="">JettyServer</span>.<span style="">doStart</span><span style="color:#006600; font-weight:bold;">&#40;</span>JettyServer.<span style="">java</span>:<span style="color:#800000;color:#800000;">67</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">eclipse</span>.<span style="">jetty</span>.<span style="">util</span>.<span style="">component</span>.<span style="">AbstractLifeCycle</span>.<span style="">start</span><span style="color:#006600; font-weight:bold;">&#40;</span>AbstractLifeCycle.<span style="">java</span>:<span style="color:#800000;color:#800000;">55</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; at org.<span style="">mortbay</span>.<span style="">jetty</span>.<span style="">plugin</span>.<span style="">AbstractJettyMojo</span>.<span style="">startJetty</span><span style="color:#006600; font-weight:bold;">&#40;</span>AbstractJettyMojo.<span style="">java</span>:<span style="color:#800000;color:#800000;">437</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; ... <span style="color:#800000;color:#800000;">21</span> more </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>This is because you need elevated permissions to run applications on lower ports on *nix based systems.  Simply run it as sudo, “sudo mvn jetty:run” and you'll be good to go.</p>
<p>Not a terribly tough problem to overcome on your own, but I thought I'd try and try to save someone some time if they run across the same issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2010/08/running-jetty-7-on-port-80-with-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Most Efficent Way to Increment A Map Value in Java</title>
		<link>http://devnulled.com/content/2009/09/the-most-efficent-way-to-increment-a-map-value-in-java/</link>
		<comments>http://devnulled.com/content/2009/09/the-most-efficent-way-to-increment-a-map-value-in-java/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 19:47:26 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Disciplines]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[efficent]]></category>
		<category><![CDATA[increment]]></category>
		<category><![CDATA[increment value]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://devnulled.com/?p=768</guid>
		<description><![CDATA[Finding myself in a situation of needing to increment values in a map in Java, I was curious to see what the most efficient way to do so. Said piece of code will be looped over thousands of times and I wanted it to run as quickly possible. Yes, I know that pre-optimization is the [...]]]></description>
			<content:encoded><![CDATA[<p>Finding myself in a situation of needing to increment values in a map in Java, I was curious to see what the most efficient way to do so.  Said piece of code will be looped over thousands of times and I wanted it to run as quickly possible.  Yes, I know that pre-optimization is the root of all evil, but in this case it was something I needed to be conscious of.</p>
<p>I found a <a href="http://stackoverflow.com/questions/81346/most-efficient-way-to-increment-a-map-value-in-java">question/thread on StackOverflow</a> where someone else had already pondered the same thing and got a long list of possible answers to compare to each other, including using <a href="http://commons.apache.org/">Apache Commons</a> and the <a href="http://code.google.com/p/google-collections/">Google Collections Library</a>.   After testing all of them, the fastest way ended-up being implementing a "MutableInt" class and using it as the value data type in the map:</p>
<div class="igBar"><span id="lcode-8"><a href="#" onclick="javascript:showCodeTxt('code-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-8">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">class MutableInt <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; int value = <span style="color:#800000;color:#800000;">0</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; public void inc <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> ++value; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; public int get <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> return value; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Map&lt;string ,MutableInt&gt; map = new HashMap&lt;string ,MutableInt&gt;<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">MutableInt value = map.<span style="">get</span> <span style="color:#006600; font-weight:bold;">&#40;</span>key<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">if <span style="color:#006600; font-weight:bold;">&#40;</span>value == null<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; value = new MutableInt <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; map.<span style="">put</span> <span style="color:#006600; font-weight:bold;">&#40;</span>key, value<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> else <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; value.<span style="">inc</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Pretty interesting stuff!  Note that the above code snippet is not very cleanly formatted, but you'll get the idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2009/09/the-most-efficent-way-to-increment-a-map-value-in-java/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fixing Remote Desktop in Snow Leopard</title>
		<link>http://devnulled.com/content/2009/09/fixing-remote-desktop-in-snow-leopard/</link>
		<comments>http://devnulled.com/content/2009/09/fixing-remote-desktop-in-snow-leopard/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:32:16 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[remote-desktop]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[windows xp]]></category>

		<guid isPermaLink="false">http://devnulled.com/?p=764</guid>
		<description><![CDATA[After upgrading to Snow Leopard on my MacBook Pro, I only found a couple of minor issues which were easily fixed. One of them was Microsoft's Remote Desktop Client crashing at startup when I ran it. Luckily the fix was very simple-- I simply downloaded the latest version from Microsoft and installed it again. If [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading to Snow Leopard on my MacBook Pro, I only found a couple of minor issues which were easily fixed.  One of them was Microsoft's Remote Desktop Client crashing at startup when I ran it.  Luckily the fix was very simple-- I simply downloaded the latest version from Microsoft and installed it again.  If you're having problems with Remote Desktop in Snow Leopard, give it a try!</p>
<p><a href="http://www.microsoft.com/mac/products/remote-desktop/default.mspx">Microsoft Remote Desktop for OS X</a></p>
<p>Alternatively, you can also try downloading CoRD, an open source Remote Desktop Client and installing it.  It seemed to have trouble connecting to my Windows XP workstation for whatever reason, but that doesn't mean it won't work for you of course.</p>
<p><a href="http://cord.sourceforge.net/">CoRD</a></p>
<blockquote><p>
CoRD is a Mac OS X remote desktop client for Microsoft Windows computers using the RDP protocol. It's easy to use, fast, and free for anyone to use or modify.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2009/09/fixing-remote-desktop-in-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How To Install Dig in Ubuntu Linux</title>
		<link>http://devnulled.com/content/2008/11/how-to-install-dig-in-ubuntu-linux/</link>
		<comments>http://devnulled.com/content/2008/11/how-to-install-dig-in-ubuntu-linux/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 16:26:49 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[dig]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[nslookup]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu-linux]]></category>

		<guid isPermaLink="false">http://devnulled.com/?p=742</guid>
		<description><![CDATA[One tool I'm used to having without installing (it's included by default in FreeBSD) is Dig (which is short for Domain Information Groper). Dig is a really handy tool for checking and troubleshooting DNS related issues once you learn how to use it. For instance, it makes it easy to see how your MX records [...]]]></description>
			<content:encoded><![CDATA[<p>One tool I'm used to having without installing (it's included by default in <a href="http://freebsd.org">FreeBSD</a>) is <a href="http://en.wikipedia.org/wiki/Domain_Information_Groper">Dig</a> (which is short for Domain Information Groper).  Dig is a really handy tool for checking and troubleshooting DNS related issues once you learn how to use it.   For instance, it makes it easy to see how your MX records are resolving:</p>
<div class="igBar"><span id="lcode-11"><a href="#" onclick="javascript:showCodeTxt('code-11'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-11">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"># dig google.<span style="">com</span> mx</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">; &lt;&lt;&gt;&gt; DiG <span style="color:#800000;color:#800000;">9</span>.<span style="color:#800000;color:#800000;">3</span>.<span style="color:#800000;color:#800000;">2</span>-P2.<span style="color:#800000;color:#800000;">1</span> &lt;&lt;&gt;&gt; google.<span style="">com</span> mx</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; global options:&nbsp; printcmd</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; Got answer:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: <span style="color:#800000;color:#800000;">41334</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; flags: qr rd ra; QUERY: <span style="color:#800000;color:#800000;">1</span>, ANSWER: <span style="color:#800000;color:#800000;">4</span>, AUTHORITY: <span style="color:#800000;color:#800000;">0</span>, ADDITIONAL: <span style="color:#800000;color:#800000;">0</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; QUESTION SECTION:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;google.<span style="">com</span>.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="">IN</span>&nbsp; &nbsp; &nbsp; MX</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; ANSWER SECTION:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">google.<span style="">com</span>.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#800000;color:#800000;">10212</span>&nbsp; &nbsp;IN&nbsp; &nbsp; &nbsp; MX&nbsp; &nbsp; &nbsp; <span style="color:#800000;color:#800000;">10</span> smtp3.<span style="">google</span>.<span style="">com</span>.</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="">google</span>.<span style="">com</span>.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#800000;color:#800000;">10212</span>&nbsp; &nbsp;IN&nbsp; &nbsp; &nbsp; MX&nbsp; &nbsp; &nbsp; <span style="color:#800000;color:#800000;">10</span> smtp4.<span style="">google</span>.<span style="">com</span>.</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="">google</span>.<span style="">com</span>.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#800000;color:#800000;">10212</span>&nbsp; &nbsp;IN&nbsp; &nbsp; &nbsp; MX&nbsp; &nbsp; &nbsp; <span style="color:#800000;color:#800000;">10</span> smtp1.<span style="">google</span>.<span style="">com</span>.</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="">google</span>.<span style="">com</span>.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#800000;color:#800000;">10212</span>&nbsp; &nbsp;IN&nbsp; &nbsp; &nbsp; MX&nbsp; &nbsp; &nbsp; <span style="color:#800000;color:#800000;">10</span> smtp2.<span style="">google</span>.<span style="">com</span>.</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; Query time: <span style="color:#800000;color:#800000;">1</span> msec</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; SERVER: <span style="color:#800000;color:#800000;">208</span>.<span style="color:#800000;color:#800000;">67</span>.<span style="color:#800000;color:#800000;">220</span>.<span style="color:#800000;color:#800000;">220</span>#53<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;color:#800000;">208</span>.<span style="color:#800000;color:#800000;">67</span>.<span style="color:#800000;color:#800000;">220</span>.<span style="color:#800000;color:#800000;">220</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; WHEN: Sat Nov&nbsp; <span style="color:#800000;color:#800000;">8</span> <span style="color:#800000;color:#800000;">02</span>:<span style="color:#800000;color:#800000;">56</span>:<span style="color:#800000;color:#800000;">08</span> <span style="color:#800000;color:#800000;">2008</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">;; MSG SIZE&nbsp; rcvd: <span style="color:#800000;color:#800000;">116</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Luckily this is easy to install, just not terribly intuitive or easy to find as it's not a package known as dig:</p>
<div class="igBar"><span id="lcode-12"><a href="#" onclick="javascript:showCodeTxt('code-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-12">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"># sudo apt-get install dnsutils </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>That's pretty much it-- you should now be able to use dig!</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2008/11/how-to-install-dig-in-ubuntu-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Regular Expression To Proxy Basic ColdFusion Requests</title>
		<link>http://devnulled.com/content/2008/04/a-regular-expression-to-proxy-basic-coldfusion-requests/</link>
		<comments>http://devnulled.com/content/2008/04/a-regular-expression-to-proxy-basic-coldfusion-requests/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 15:27:56 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[clustering]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[jrun]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular expression]]></category>

		<guid isPermaLink="false">http://devnulled.com/content/2008/04/a-regular-expression-to-proxy-basic-coldfusion-requests/</guid>
		<description><![CDATA[(Note: I'm cleaning up some old drafts which have been sitting around for awhile.) A couple of years ago while setting-up a new J2EE server cluster using the Implementing Multitier Hardware Load Balancing with ColdFusion MX for J2EE or JRun article, I needed to setup a proxy filter for ColdFusion requests. Given that the application [...]]]></description>
			<content:encoded><![CDATA[<p>(Note: I'm cleaning up some old drafts which have been sitting around for awhile.)</p>
<p>A couple of years ago while setting-up a new J2EE server cluster using the <a href="http://www.adobe.com/devnet/coldfusion/j2ee/articles/balancing_j2ee03.html">Implementing Multitier Hardware Load Balancing with ColdFusion MX for J2EE or JRun</a> article, I needed to setup a proxy filter for ColdFusion requests.  Given that the application I was setting up used a context root of /, the proxy rule listed in that article would not work.  Instead, thanks to my former co-worker <a href="http://www.nomachetejuggling.com/">Rod</a>, I now have a regular expression which will redirect all basic requests for ColdFusion:</p>
<div class="igBar"><span id="lcode-16"><a href="#" onclick="javascript:showCodeTxt('code-16'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-16">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">^<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#40;</span>?:\S*.<span style="">cfml</span>?\S*<span style="color:#006600; font-weight:bold;">&#41;</span>|\S*/<span style="color:#006600; font-weight:bold;">&#40;</span>?:\?\S+<span style="color:#006600; font-weight:bold;">&#41;</span>?<span style="color:#006600; font-weight:bold;">&#41;</span>$ </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>This regexp works for the following combinations:</p>
<div class="igBar"><span id="lcode-17"><a href="#" onclick="javascript:showCodeTxt('code-17'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-17">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hello.<span style="">cfm</span>?hello=<span style="color:#800000;color:#800000;">2</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hello/</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">sadfa/</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dasd/?hello=<span style="color:#800000;color:#800000;">231</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">xo.<span style="">cfm</span>/hello</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hello/dookie.<span style="">cfm</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dookie/hello.<span style="">cfm</span>?thisvar=dookie</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/ </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>And the following requests are not proxied:</p>
<div class="igBar"><span id="lcode-18"><a href="#" onclick="javascript:showCodeTxt('code-18'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-18">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/hello.<span style="">html</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hello.<span style="">html</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hello/hello.<span style="">html</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Obviously these are just basic test cases, but it should leave all CSS, image, JavaScript, etc. type requests to the webserver, and pass on everything else to the app servers.  You would also need to change it to include direct requests for .cfc files if you're doing anything like Flash Remoting, Web Services, etc directly to CFC's.</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2008/04/a-regular-expression-to-proxy-basic-coldfusion-requests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Fix Sound Problems In Ubuntu 7.10 Gutsy on Dell Computers</title>
		<link>http://devnulled.com/content/2008/04/how-to-fix-sound-problems-in-ubuntu-710-gutsy-on-dell-computers/</link>
		<comments>http://devnulled.com/content/2008/04/how-to-fix-sound-problems-in-ubuntu-710-gutsy-on-dell-computers/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 22:22:01 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[dimension e520]]></category>
		<category><![CDATA[e520]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[no sound]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://devnulled.com/content/2008/04/how-to-fix-sound-problems-in-ubuntu-710-gutsy-on-dell-computers/</guid>
		<description><![CDATA[Currently, my main workstation at home is a Dell Dimension E520 which primarily runs Ubuntu 7.10, but I also dual boot into Windows XP for my photography hobby. One problem I had after upgrading to Ubuntu 7.10 from the default Ubuntu install which the E520 shipped with was getting sound to work. After trying several [...]]]></description>
			<content:encoded><![CDATA[<p>Currently, my main workstation at home is a Dell Dimension E520 which primarily runs Ubuntu 7.10, but I also dual boot into Windows XP for my photography hobby.  One problem I had after upgrading to Ubuntu 7.10 from the default Ubuntu install which the E520 shipped with was getting sound to work.  After trying <a href="http://ubuntuforums.org/showthread.php?t=575653&#038;page=2">several solutions in this forum thread</a>, I finally got it working again.</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2008/04/how-to-fix-sound-problems-in-ubuntu-710-gutsy-on-dell-computers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How To Display Which Processes Are Using What Ports</title>
		<link>http://devnulled.com/content/2008/02/how-to-display-which-processes-are-using-what-ports/</link>
		<comments>http://devnulled.com/content/2008/02/how-to-display-which-processes-are-using-what-ports/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 08:19:09 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Apache HTTPD]]></category>
		<category><![CDATA[Apache Tomcat]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[port in use]]></category>
		<category><![CDATA[port is in use]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[processes]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://devnulled.com/content/2008/02/how-to-display-which-processes-are-using-what-ports/</guid>
		<description><![CDATA[This is just a quick entry on how to see which software is using which ports. This comes in handy when trying to install an application server, web server, etc, and are getting errors like "port is in use". Basically in any Unix type derivative such as Linux such (Ubuntu, RedHat, SuSe, etc.), as well [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a quick entry on how to see which software is using which ports.  This comes in handy when trying to install an application server, web server, etc, and are getting errors like "port is in use".</p>
<p>Basically in any Unix type derivative such as Linux such (Ubuntu, RedHat, SuSe, etc.), as well as Mac OS X, all that you need to type this at the command line:</p>
<div class="igBar"><span id="lcode-20"><a href="#" onclick="javascript:showCodeTxt('code-20'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-20">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">lsof -i </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>I remember there being a couple of commands in Windows which you could do this with, but it's been so long since I've used Windows on a regular basis I honestly don't remember how to do it.  I do know you can use <a href="http://www.microsoft.com/technet/sysinternals/Networking/TcpView.mspx">TCPView</a> to accomplish the same thing, however.</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2008/02/how-to-display-which-processes-are-using-what-ports/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Can&#8217;t Login To Newegg in Firefox?  Here&#8217;s How To Fix It&#8230;</title>
		<link>http://devnulled.com/content/2008/02/cant-login-to-newegg-in-firefox-heres-how-to-fix-it/</link>
		<comments>http://devnulled.com/content/2008/02/cant-login-to-newegg-in-firefox-heres-how-to-fix-it/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 20:47:43 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[can't login]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[log in]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[newegg]]></category>
		<category><![CDATA[newegg.com]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[windows xp]]></category>

		<guid isPermaLink="false">http://devnulled.com/content/2008/02/cant-login-to-newegg-in-firefox-heres-how-to-fix-it/</guid>
		<description><![CDATA[It seems like for at least a couple of years now, I've had problems when trying to login to newegg.com with Firefox. Across different installs of Firefox, on Windows, OS X, and Linux, etc.. no matter what I tried, Firefox just didn't work at all. Today after my typical google search session, I did find [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like for at least a couple of years now, I've had problems when trying to login to <a href="http://newegg.com">newegg.com</a> with <a href="http://www.mozilla.com/firefox/">Firefox</a>.  Across different installs of Firefox, on Windows, OS X, and Linux, etc.. no matter what I tried, Firefox just didn't work at all.   Today after my typical google search session, I did find a couple of solutions which took quite awhile to track down.   If you're having problems logging into to Newegg, give these a try:</p>
<p><strong>Easy solution:</strong></p>
<p>In the address bar of Firefox, type:</p>
<div class="igBar"><span id="lcode-22"><a href="#" onclick="javascript:showCodeTxt('code-22'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-22">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">about:config </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Search or scroll down to the section called "network.http.sendRefererHeader" and change this value to 1.</p>
<p>For some reason, this was set to 2 on my machine.</p>
<p><strong>Annoying solution:</strong></p>
<p>Something is probably corrupt in your Firefox profile.  Given that you're the type of person who shops at newegg, AND uses firefox, you can probably figure out how to create a new profile on your own.</p>
<p>Anyhow, give those a try and see if they work.  It's nice to be able to shop on Newegg again with Firefox!</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2008/02/cant-login-to-newegg-in-firefox-heres-how-to-fix-it/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Maven: Including Axis2 Artifacts into EAR&#8217;s</title>
		<link>http://devnulled.com/content/2008/01/maven-including-axis2-artifacts-into-ears/</link>
		<comments>http://devnulled.com/content/2008/01/maven-including-axis2-artifacts-into-ears/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 06:27:42 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[A Day In The Life Of]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[aar]]></category>
		<category><![CDATA[axis2]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[ear]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[mar]]></category>
		<category><![CDATA[maven-ear-plugin]]></category>
		<category><![CDATA[maven2]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[war]]></category>

		<guid isPermaLink="false">http://devnulled.com/content/2008/01/maven-including-axis2-artifacts-into-ears/</guid>
		<description><![CDATA[I'm going to skip over a rant about how much Axis2 sucks in order to pass a tip on how to include Axis2 artifacts (AAR's, MAR's, etc) into an EAR file using the Maven plugin to package EAR files, maven-ear-plugin. It's a pretty obvious solution but if you're in a hurry like I've been to [...]]]></description>
			<content:encoded><![CDATA[<p>I'm going to skip over a rant about how much <a href="http://www.bileblog.org/?p=30">Axis2 sucks</a> in order to pass a tip on how to include <a href="http://ws.apache.org/axis2/">Axis2</a> artifacts (AAR's, MAR's, etc) into an EAR file using the <a href="http://maven.apache.org/">Maven</a> plugin to package EAR files, <a href="http://maven.apache.org/plugins/maven-ear-plugin/">maven-ear-plugin</a>.  It's a pretty obvious solution but if you're in a hurry like I've been to convert a project from a single WAR to one with several EJB's, a WAR, etc, there are a lot of new things to learn all at the same time (how <a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossClassLoadingUseCases">classloading works with EAR's in JBoss</a>, how to share the same <a href="http://www.hibernate.org/">Hibernate</a> transactions between your web app and EJB's, etc), and this was one of those little things which wasn't immediately obvious.  If you're seeing exceptions like these when trying to package an EAR in Maven:</p>
<div class="igBar"><span id="lcode-25"><a href="#" onclick="javascript:showCodeTxt('code-25'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-25">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">------------------------------------------------------------------------</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>ERROR<span style="color:#006600; font-weight:bold;">&#93;</span> BUILD ERROR</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">------------------------------------------------------------------------</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span> Failed to initialize ear modules</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Embedded error: Unknown artifact type<span style="color:#006600; font-weight:bold;">&#91;</span>mar<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>INFO<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">------------------------------------------------------------------------</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>DEBUG<span style="color:#006600; font-weight:bold;">&#93;</span> Trace </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>... you've came to the right place.   <img src='http://devnulled.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>There are many ways to setup your package structure under Maven2 to build EAR's, but essentially what I do is create a root level project which packages a given application into an EAR, and nothing more.  Once you have the maven-ear-plugin setup for the most part, all that you need to do is to tell the Maven EAR Plugin to treat the various Axis2 <strike>pieces of shit</strike> packages like JAR's:</p>
<div class="igBar"><span id="lcode-26"><a href="#" onclick="javascript:showCodeTxt('code-26'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-26">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;plugin&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;artifactid&gt;maven-ear-plugin&lt;/artifactid&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;configuration&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;archive&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;manifest&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;addclasspath&gt;true&lt;/addclasspath&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/manifest&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/archive&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;artifacttypemappings&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;artifacttypemapping type=<span style="color:#CC0000;">"mar"</span> mapping=<span style="color:#CC0000;">"jar"</span>/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;artifacttypemapping type=<span style="color:#CC0000;">"aar"</span> mapping=<span style="color:#CC0000;">"jar"</span>/&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/artifacttypemappings&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/configuration&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/plugin&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>This is just one of many gotcha's I learned about while working on an aforementioned project.   In fact it's really pretty hard to find any comprehensive documentation on getting <a href="http://java.sun.com/products/ejb/">EJB3</a>, <a href="http://www.springframework.org/">Spring</a>, and Hibernate working together on JBoss with a typical Java web application, especially while using Maven.  I have a sample project I used to work through some of the integration issues with this, and will hopefully be able to wrap it up and add it to Google Code in the next few weeks to provide an example of getting all of these technologies to play together. </p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2008/01/maven-including-axis2-artifacts-into-ears/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Java 6 for Developers on MacOS X: SoyLatte Reaches 1.0</title>
		<link>http://devnulled.com/content/2007/12/java-6-for-developers-on-macos-x-soylatte-reaches-10/</link>
		<comments>http://devnulled.com/content/2007/12/java-6-for-developers-on-macos-x-soylatte-reaches-10/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 20:48:46 +0000</pubDate>
		<dc:creator>Brandon Harper</dc:creator>
				<category><![CDATA[Disciplines]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Tips, Hacks, & Tricks]]></category>
		<category><![CDATA[java-6]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac-osx]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[soy-latte]]></category>
		<category><![CDATA[soylatte]]></category>
		<category><![CDATA[tiger]]></category>

		<guid isPermaLink="false">http://devnulled.com/content/2007/12/java-6-for-developers-on-macos-x-soylatte-reaches-10/</guid>
		<description><![CDATA[For those many of you (including myself) who have been waiting almost a year now for Java 6 to be properly supported on the Mac, the wait is over if you're a developer-- Landon Fuller has released SoyLatte 1.0, which is a port of FreeBSD Java 6 to MacOS X which will eventually end-up as [...]]]></description>
			<content:encoded><![CDATA[<p>For those many of you (including myself) who have been waiting almost a year now for <a href="http://java.sun.com/javase/6/">Java 6</a> to be properly supported on the Mac, the wait is over if you're a developer-- <a href="http://landonf.bikemonkey.org/2007/12/05#MacOS_BSD_Java_1.0.20071206">Landon Fuller has released SoyLatte 1.0</a>, which is a port of <a href="http://freebsd.org">FreeBSD</a> Java 6 to MacOS X which will eventually end-up as part of the <a href="http://openjdk.java.net/">OpenJDK</a>.  This seemed to come together very quickly once Leopard came-out and was missing Java 6.</p>
<p>Though Java 6 didn't provide quite as much new syntactic sugar as Java 5, the <a href="http://java.sun.com/performance/reference/whitepapers/6_performance.html">performance increases in Java 6 are pretty dramatic</a>.  I highly recommend giving Java 6 a look if you're doing any development which runs on the JVM if you haven't already switched.</p>
<p>Keep in mind that this is mostly a developers port as it's not yet integrated into Cocoa, the MacOS X native GUI.  Desktop applications will run under X11, but this is the next hurdle to tackle (though it seems to be a pretty big one).</p>
]]></content:encoded>
			<wfw:commentRss>http://devnulled.com/content/2007/12/java-6-for-developers-on-macos-x-soylatte-reaches-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->