<?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>createTank &#187; Tutorials</title>
	<atom:link href="http://createtank.com/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://createtank.com</link>
	<description></description>
	<lastBuildDate>Thu, 28 Jan 2010 13:10:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Introduction to HttpUnit</title>
		<link>http://createtank.com/2007/06/httpunit-intro/</link>
		<comments>http://createtank.com/2007/06/httpunit-intro/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 02:28:15 +0000</pubDate>
		<dc:creator>larry</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/06/13/introduction-to-httpunit/</guid>
		<description><![CDATA[In today&#8217;s application development environment it is standard practice to build unit tests for each object being developed. Unit testing is increasingly more and more popular in Java due to the many open-source unit testing frameworks available. However, this type of testing becomes more difficult when the application is Web based or contains EJBs because [...]]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s application development environment it is standard practice to build unit tests for each object being developed. Unit testing is increasingly more and more popular in Java due to the many open-source unit testing frameworks available. However, this type of testing becomes more difficult when the application is Web based or contains EJBs because of the dependency on application servers, servlet containers and EJB containers.<span id="more-32"></span> We can, though, test the publicly exposed portion of the Web application with frameworks like <a href="http://httpunit.sourceforge.net" target="_blank">HttpUnit</a>.</p>
<p>HttpUnit is a Java testing framework, which is used to access Web-based content in a manor similar to that of a Web Browser. Most things a user can do through a Web browser can be emulated with HttpUnit. It even supports form submission, JavaScript to a degree, and https. Additionally, HttpUnit allows one to examine the returned pages.</p>
<p>Let&#8217;s examine a very simple HttpUnit example by testing one of my favorite sites, http://carcruises.com. This site lists a considerable amount of car cruises within the US by month and state passed to the server in the form of query parameters. We want to test the results of querying for a list of cruises in Pennsylvania for the month of June.</p>
<p>First, we must create a class to extend the junit.framework.TestCase class. This is necessary to take advantage of JUnit&#8217;s assert methods. Within this class we create a test method (testGetPAJuneCarcruises) where we will emulate an http call to the car cruises website.</p>
<pre><strong>Listing 1</strong><font color="#0000ff">
public class CarCruisesTest  extends junit.framework.TestCase {
    public void testGetPAJuneCarcruises() {
        String sURL = "http://carcruises.com/" +
            "cruise_list.asp?month_select=6&amp;" +
            "state=Pennsylvania";
        try {
            // Create the conversation object,
            // which will maintain state for us</font><font color="#ff0000">
            WebConversation conversation = new WebConversation();
            WebRequest request = new GetMethodWebRequest(sURL);
            WebResponse response = conversation.getResponse(request);</font><font color="#0000ff">
        } catch (Exception ex) {
            ex.printStackTrace();
            // Fail the test if an exception is thrown.
            super.fail(ex.getMessage());
        }
    }
}</font></pre>
<p>Listing 1 illustrates 3 significant lines of code. Initially we must instantiate a WebConversation object. This object is responsible for maintaining the session of the connection just like a Web Browser does when a human is looking at the URL. Next, we must create a WebRequest object pointing to the URL. This object can be a &#8220;GET&#8221;, &#8220;PUT&#8221; or &#8220;POST&#8221; request. Finally, we create a WebResponse object used to retrieve the results of the request.</p>
<p>OK, so that was easy enough but we haven&#8217;t tested anything. Usually it is standard practice to invoke JUnit assertNotNull methods on each of the objects (which is why our class must extend junit.framework.TestCase). Therefore, after instantiation of each object perform an assertNotNull as illustrated in Listing 2. If any of the objects are null the test will fail before moving on to the instantiation of the next object.</p>
<pre><strong>Listing 2</strong><font color="#0000ff">
public void testGetPAJuneCarcruises(){
        String sURL = "http://carcruises.com/" +
            "cruise_list.asp?month_select=6&amp;" +
            "state=Pennsylvania";
    try {
        // Create the conversation object,
        // which will maintain state for us
        WebConversation conversation = new WebConversation();</font><font color="#ff0000">
        assertNotNull("New conversation", conversation);</font><font color="#0000ff">
        WebRequest request = new GetMethodWebRequest(sURL);</font><font color="#ff0000">
        assertNotNull("Request to URL "+sURL,request);</font><font color="#0000ff">
        WebResponse response = conversation.getResponse(request);</font><font color="#ff0000">
        assertNotNull("Response from URL " + sURL,response);</font><font color="#0000ff">
    } catch (Exception ex) {
        ex.printStackTrace();
        // Fail the test if an exception is thrown.
        super.fail(ex.getMessage());
    }
}</font></pre>
<p>If all of our objects are not NULL then we are ready to take a closer look at the WebResponse object. We&#8217;ll want to test for a valid response code by using the WebResponse object&#8217;s getResponseCode. If this method returns a 200 then we can test for other response objects. For example, we can test that the response message returns &#8220;OK&#8221; by making a call to the WebResponse object&#8217;s getResponseMessage method. Typically responses from Web applications also contain titles. We can test for a title by performing an assertEquals using the WebResponse object&#8217;s getTitle method. Snippet 1 illustrated these three tests.</p>
<pre><strong>Snippet 1</strong><font color="#0000ff">
assertEquals("Response code should return 200",
    200, response.getResponseCode());
assertEquals("Response message should return OK",
    "OK",response.getResponseMessage());
assertEquals("Car Cruises Online - Cruise Listing",
    response.getTitle());</font></pre>
<p>If theses assertions are correct we can begin to look at forms and links. Snippet 2 demonstrates the methods necessary to retrieve this data from the WebResponse object. Since more than one form or link can be present in any one response, the methods return arrays of type WebForm and WebLink respectively. For our example we know there is only one form in the response so we first test for NULL then we test the array length to make sure we only received 1 form. As for links, our example is using a dynamic URL in which the number of links can change at any time. Therefore we just test for null and then to be consistent we check the array length to make sure it is greater than or equal to 0.</p>
<pre><strong>Snippet 2</strong><font color="#0000ff">
WebForm[] forms = response.getForms();
assertNotNull(forms);
assertTrue("Response should contain only 1 form",forms.length == 1);
WebLink[] links = response.getLinks();
assertNotNull(links);
assertTrue("Response should contain 0 or more links",links.length &gt;= 0);
</font></pre>
<p>Each of the WebForm and WebLink objects can be further broken down into other objects. Each URL may or may not utilize this inner objects. Some of these objects are Buttons, Methods, Parameters, and so on. Likewise, the WebResponse object can be further broken down into other objects. Please see the <a href="http://httpunit.sourceforge.net/doc/api/index.html" target="_blank">HttpUnit javadocs</a> for more information (<a href="http://httpunit.sourceforge.net/doc/api/index.html" target="_blank">http://httpunit.sourceforge.net/doc/api/index.html</a>).</p>
<p>Another interesting thing to note is that usually one would disable HttpUnit from throwing exceptions due to JavaScript errors. This is necessary because of the on-going differences in the inner workings of JavaScript. Therefore, as a first step, use Snippet 3 to disable these exceptions before the instantiation of the WebConversation object</p>
<pre><strong>Snippet 3</strong><font color="#0000ff">
// Don't let JavaScript errors trip us up!
HttpUnitOptions.setExceptionsThrownOnScriptError(false);
</font></pre>
<p>Putting it all together we create the code in Listing 3.  Usually I do all of my development work in Eclipse so I can execute any JUnit test directly from the IDE, however, it can also be executed through ant if so desired.  Snippet 4 illustrates a simple ant task that will execute any Junit test classes whose source code is in the relative directory src/java.test and whose name ends with Test.java.  This also assumes you&#8217;ve already compiled your test source files and they are included in the test.classpath path.</p>
<pre><strong>Listing 3</strong><font color="#0000ff">
public class CarCruisesTest  extends junit.framework.TestCase{
    public void testGetPAJuneCarcruises(){
        String sURL = "http://carcruises.com/" +
            "cruise_list.asp?month_select=6&amp;" +
            "state=Pennsylvania";
        try {
            // Don't let Javascript errors trip us up!
            HttpUnitOptions.setExceptionsThrownOnScriptError(false);
            // Create the conversation object which will maintain
            // state for us.
            WebConversation conversation = new WebConversation();

            // Create the request object pointing to our URL.
            WebRequest request = new GetMethodWebRequest(sURL);

            // Perform a get request and store results in response.
            WebResponse response = conversation.getResponse(request);

            // Check for valid response code.
            assertEquals("Response code should return 200",
                        200,response.getResponseCode());

            // Check for valid response message.
            assertEquals("Response message should return OK",
                        "OK",response.getResponseMessage());

            // Check for valid response title.
            assertEquals("Car Cruises Online - Cruise Listing",
                        response.getTitle());

            // Make sure there is 1 and only 1 form.
            WebForm[] forms = response.getForms();
            assertNotNull(forms);
            assertTrue("Response should contain only 1 form",
                        forms.length == 1);

            // Make sure the Links are not NULL.
            WebLink[] links = response.getLinks();
            assertNotNull(links);
            assertTrue("Response should contain at least 1 link",
                        links.length &gt;= 1);
        } catch (Exception ex) {
            ex.printStackTrace();
            // Fail the test if an exception is thrown.
            super.fail(ex.getMessage());
        }
    }
}</font></pre>
<p>Since we instruct Junit to format the output as xml we can then feed the resultant xml into the JunitReport task and generate html to make the results pretty.  For further information on these ant task please see the <a href="http://httpunit.sourceforge.net" target="_blank">JUnit</a> project at sourceforge.</p>
<pre><strong>Snippet 4</strong><font color="#0000ff">
&lt;target name="test" &gt;
	&lt;mkdir dir="tst-rslts"/&gt;
	&lt;junit haltonfailure="no" printsummary="yes"&gt;
		&lt;classpath refid="test.classpath"/&gt;
		&lt;batchtest fork="yes" todir="tst-rslts"&gt;
			&lt;formatter type="xml"/&gt;
			&lt;fileset dir="src/java.test"&gt;
				&lt;include name="**/*Test.java"/&gt;
			&lt;/fileset&gt;
		&lt;/batchtest&gt;
	&lt;/junit&gt;
	&lt;junitreport todir="tst-rslts"&gt;
		&lt;fileset dir="tst-rslts"&gt;
			&lt;include name="TEST-*.xml"/&gt;
		&lt;/fileset&gt;
		&lt;report format="frames" todir="tst-rslts"/&gt;
	&lt;/junitreport&gt;
&lt;/target&gt;
</font></pre>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/06/httpunit-intro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Software Interview Questions</title>
		<link>http://createtank.com/2007/05/software-interview-questions/</link>
		<comments>http://createtank.com/2007/05/software-interview-questions/#comments</comments>
		<pubDate>Thu, 31 May 2007 03:08:21 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://createtank.com/2007/05/30/software-interview-questions/</guid>
		<description><![CDATA[A great set of interview questions developed by staff and friends of createTank over the past few years to get a good feel for the quality of a candidate from a few perspectives (general skills, communications, problem solving, etc.).
General Skill Check
Software Languages

[] Java

    [] JMS

    [] JSP/Servlets

   [...]]]></description>
			<content:encoded><![CDATA[<p>A great set of interview questions developed by staff and friends of createTank over the past few years<span id="more-29"></span> to get a good feel for the quality of a candidate from a few perspectives (general skills, communications, problem solving, etc.).</p>
<h2>General Skill Check</h2>
<p><strong>Software Languages</strong></p>
<pre>
[] Java

    [] JMS

    [] JSP/Servlets

    [] Hibernate (Other ORM)

    [] J2EE

    [] EJB

    [] Libraries

[] Hibernate/ORM

[] Castor/OXM

[] XML

[] Jakarta various

[] Struts

[] Tiles

[] Web Services

[] C

[] C++

[] Perl

[] Python

[] PHP

[] Shell Scripting

    [] Bourne shell (sh)

    [] Almquist shell (ash)

    [] Bourne-Again shell (bash)

    [] Korn shell (ksh)

    [] Z shell (zsh)

    [] C shell (csh)

    [] Tenex C shell (tcsh)

[] Web Services

    [] XML-RPC

    [] SOAP

    [] SOA</pre>
<pre>    [] REST

[] Internet

[] HTML

[] Javascript

[] XML

[] UML</pre>
<p><strong>RDBMS</strong></p>
<pre>
[] Oracle

[] PostgreSQL

[] MySQL

[] DB2 UDB

[] Informix</pre>
<p><strong>Operating Systems</strong></p>
<pre>
[] Linux

    [] Debian

    [] Ubuntu

    [] Redhat/Fedora

    [] Gentoo

    [] Mandrake

    [] Slackware

[] Unix

    [] BSD

    [] AIX

    [] Solaris

    [] HP-UX</pre>
<p><strong>Application Servers/Middleware</strong></p>
<pre>
[] Websphere

[] WebsphereMQ/MQSeries

[] JBoss

[] Weblogic

[] Geronimo

[] Jakarta Tomcat

[] Sun Application Server

[] Apache ServiceMix

[] Mule</pre>
<p><strong>Development and Processing Tools</strong></p>
<pre>
[] Ant

[] Subversion

[] CVS

[] PVCS

[] Clearcase

[] Version Control (other)

[] IDE

[] Eclipse

[] Netbeans

[] JBuilder

[] Emacs

[] vi/vim</pre>
<h2>Questions</h2>
<p><strong>General Questions</strong></p>
<ol>
<li>Explain how you prepared for this interview.</li>
<li>Before we describe the position, what do you want to do?</li>
<li>What are your strengths and weaknesses?</li>
<li>What motivates you?</li>
<li>What are some favorite web sites for technical information?</li>
<li>What are some influential books you&#8217;ve read?</li>
<li>Why do projects fail?</li>
<li>What do you like about your current job? What don&#8217;t you like?</li>
<li>How would you rate your current management?</li>
<li>Would you like to be the team leader or team member?</li>
<li>What is your ideal team size?</li>
<li>Are you familiar with an 4GLs? What are some advantages/disadvantages to 4GL?</li>
<li>Would you be comfortable being a team lead or a mentor?</li>
<li>Do you have any applicable certifications?</li>
<li>Do you hold any clearances?</li>
<li>Describe your ideal/dream job.</li>
<li>Cowboy&#8217;s question &#8212; If you were a (fill in the blank) what kind would you be?</li>
</ol>
<p><strong>General Engineering</strong></p>
<ol>
<li>What design methodologies are you familiar with.</li>
<li>What Project Management software are you familiar with?</li>
<li>What is a doubly linked list?</li>
<li>What is a round-robin linked list?</li>
</ol>
<p><strong>Process Methodology</strong></p>
<ol>
<li>What are the really important aspects of software development?</li>
<li>If given a new programming problem, what is your first step in producing code?</li>
<li>Explain Unit tests. When should a Unit test be written?</li>
<li>If someone asked you to move an application from environment 1 to environment 2 , what would you do?</li>
</ol>
<p><strong>Architecture/SOA Questions</strong></p>
<ol>
<li>Are you familiar with SOA?</li>
<li>What is SOA?</li>
<li>What is a Web Service?</li>
<li>What is the difference between SOA and Web Services?</li>
<li>What is the difference between Web Services and SOAP?</li>
<li>What is the difference between SOAP and SOA?</li>
</ol>
<p><strong>OO Questions</strong></p>
<ol>
<li>What is Object Oriented Design?</li>
<li>Describe an interesting class or interface that you have designed.</li>
<li>What is meant by overriding a method?</li>
<li>What is meant by overloading a method?</li>
<li>Describe polymorphism?</li>
</ol>
<p><strong>Java Questions</strong></p>
<ol>
<li>What is the difference between public, private, protected, and default modifiers?</li>
<li>What is an Abstract Class?</li>
<li>What does Static mean?</li>
<li>What is the difference between AWT, SWING, and SWT?</li>
<li>Define JAR, WAR, and EAR?</li>
</ol>
<p><strong>C/C++ Question(s)</strong></p>
<p>In the following code, how many times will the loop be executed?</p>
<pre>
int x = 0;

while(x&lt;10){
    x = x++;
}</pre>
<p>Multiple possible answer(s):</p>
<ol>
<li>This is bad code.</li>
<li>This code is compiler dependent.</li>
<li>Does the candidate mention GCC in his answer?</li>
<li>The line within the loop should be replaced with the following:</li>
</ol>
<pre>x++;</pre>
<p><strong>The &#8220;Roets&#8221; Questions</strong></p>
<ol>
<li>Soccer or Baseball?</li>
<li>vi or Emacs?</li>
<li>Coke or Pepsi?</li>
<li>Sweet tea or unsweet tea?</li>
<li>Tea or coffee?</li>
<li>MAC or PC?</li>
<li>Linux or Windows?</li>
<li>Unix or Linux?</li>
<li>JPEG or PNG?</li>
<li>Word, plain text, or Latex?</li>
<li>When I say Ballplayer, of which sport am I speaking?</li>
</ol>
<p><strong>Googlezon Questions (ask one)</strong></p>
<p>[] You are in a boat in a lake. There is an untethered anchor in the boat. You drop the anchor into the lake. Does the water level of the lake go up, down, or remain unchanged?</p>
<p>Answer: Down</p>
<p>[] You are given nine eggs, (one of which is heavier than the other eight), and a balance scale. How might you discover which of the nine eggs is heavier by only using the scale twice?</p>
<p>Answer: Put the eggs into three groups of three. Put two of the groups on the scale. If the scale stays balanced, the egg is in the unweighed group. Put two eggs from the determined heavy group on the balance. If one side drops, the dropped egg is the heavy egg. If the scale stays balanced, the unweighed egg is the heavy egg.</p>
<p>[] You are in a room with no windows and three switches. In another room, there are three light-bulbs, each controlled by one and only one of the switches. You may arrange the the switches in any manner, and change them as many times as you like. Your goal is to determine which switch controls which light-bulb. You may enter the room only one time.</p>
<p>Answer: Use heat as well as light to solve the problem. Turn one switch on and leave it on for a few minutes. Turn that switch off, and then turn on one of the other lights. Enter the room. The warm unlit bulb belongs to the first switch, the lit bulb belongs to the second switch you flipped, and the cool, unlit bulb belongs to the switch you didn&#8217;t turn on.</p>
<h2>Evaluation</h2>
<pre>
[] Communications

[] Competence

[] Reliability

[] Skillset Fit

[] Humor</pre>
<p><em>These interview questions were compiled by John Joseph Roets and Larry Liberto. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2007/05/software-interview-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian Cheat Sheet</title>
		<link>http://createtank.com/2005/04/debian-cheat-sheet/</link>
		<comments>http://createtank.com/2005/04/debian-cheat-sheet/#comments</comments>
		<pubDate>Fri, 29 Apr 2005 02:02:13 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://createtank.com/2005/04/28/debian-cheat-sheet/</guid>
		<description><![CDATA[Some hints for those new to the Debian Linux distro&#8230;

# apt-get update 
Resynchronize the package index files from their sources

# apt-cache search foo 
# apt-cache search foo &#124; grep foo 
Searches all available packages names and descriptions for &#8220;foo&#8221;.   Returns all packages containing &#8220;foo&#8221; anywhere in the description.

# apt-cache show foo 
Display details [...]]]></description>
			<content:encoded><![CDATA[<p>Some hints for those new to the Debian Linux distro&#8230;<span id="more-17"></span></p>
<pre>
<span style="color: #808080; font-style: italic"># apt-get update </span></pre>
<p>Resynchronize the package index files from their sources</p>
<pre>
<span style="color: #808080; font-style: italic"># apt-cache search foo </span>
<span style="color: #808080; font-style: italic"># apt-cache search foo | grep foo </span></pre>
<p>Searches all available packages names and descriptions for &#8220;foo&#8221;.   Returns all packages containing &#8220;foo&#8221; anywhere in the description.</p>
<pre>
<span style="color: #808080; font-style: italic"># apt-cache show foo </span></pre>
<p>Display details of package &#8220;foo&#8221;</p>
<pre>
<span style="color: #808080; font-style: italic"># apt-get install foo  </span></pre>
<p>Install package &#8220;foo&#8221; and all dependencies</p>
<pre>
<span style="color: #808080; font-style: italic"># apt-get -u dist-upgrade  </span></pre>
<p>Upgrades all installed software.</p>
<pre>
<span style="color: #808080; font-style: italic"># dpkg-reconfigure foo  </span></pre>
<p>Reconfigures package &#8220;foo&#8221;  Example:</p>
<pre>
<span style="color: #808080; font-style: italic"># dpkg-reconfigure xserver-xfree86 </span></pre>
<pre>
<span style="color: #808080; font-style: italic"># apt-cache policy foo</span></pre>
<p>Show all available sources and versions of package &#8220;foo&#8221;</p>
<p>More Details: <em> (Found here <a href="http://linux.simple.be/debian/install" target="_blank" _base_href="http://createtank.com/">http://linux.simple.be/debian/install</a>) </em></p>
<pre>
<span style="color: #808080; font-style: italic"># apt-get update          update the package lists  </span>
<span style="color: #808080; font-style: italic"># dselect update          update the available package lists  </span>
<span style="color: #808080; font-style: italic"># apt-get upgrade         upgrade all installed packages  </span>
<span style="color: #808080; font-style: italic"># apt-get install pkg     installs package  </span>
<span style="color: #808080; font-style: italic"># apt-get remove pkg      uninstall package</span>
<span style="color: #808080; font-style: italic"># dpkg -l                 show all installed and removed packages </span>
<span style="color: #808080; font-style: italic"># dpkg -l pkg             show install status of package </span>
<span style="color: #808080; font-style: italic"># dpkg -l "*pattern*"     show all packages that match pattern </span>
<span style="color: #808080; font-style: italic"># dpkg -S pattern         list packages that contain string </span>
<span style="color: #808080; font-style: italic"># dpkg -L pkg             list files in package </span>
<span style="color: #808080; font-style: italic"># dpkg -s pkg             show status of package </span>
<span style="color: #808080; font-style: italic"># dpkg -p pkg             show details of package </span>
<span style="color: #808080; font-style: italic"># apt-cache search string list relevant packages</span>
<span style="color: #808080; font-style: italic"># dpkg -i file.deb        install package from a deb file  </span>
<span style="color: #808080; font-style: italic"># dpkg -P pkg             purge package (and config?)  </span>
<span style="color: #808080; font-style: italic"># dpkg-reconfigure pkg    re-run the configure for a package  </span>
<span style="color: #808080; font-style: italic"># apt-get source pkg      get the source  </span>
<span style="color: #808080; font-style: italic"># apt-get build-dep       config build-deps for source and install</span>
<span style="color: #808080; font-style: italic"># apt-get -t release install pkg    install package from specific release  </span>
<span style="color: #808080; font-style: italic"># update-rc.d -f name remove    prevent name from running at bootup  </span>
<span style="color: #808080; font-style: italic"># apt-get dist-upgrade    upgrade the distribution</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2005/04/debian-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Java on Debian</title>
		<link>http://createtank.com/2005/04/install-java-on-debian/</link>
		<comments>http://createtank.com/2005/04/install-java-on-debian/#comments</comments>
		<pubDate>Fri, 29 Apr 2005 02:00:13 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://createtank.com/2005/04/28/install-java-on-debian/</guid>
		<description><![CDATA[4 Steps to installing Java on a Debian system&#8230;
Detailed Steps
1 &#8211; Get the Java SDK from Sun&#8230;
 Get it here: http://java.sun.com/

2 &#8211; Install the Debian package &#8220;java-package&#8221; &#8230; as root:
# apt-get install java-package
You may also need &#8220;fakeroot&#8221; &#8230; as root:
# apt-get install fakeroot
3 &#8211; Create the .deb Package File
 This step should be done as [...]]]></description>
			<content:encoded><![CDATA[<p>4 Steps to installing Java on a Debian system&#8230;<span id="more-16"></span></p>
<h2>Detailed Steps</h2>
<p>1 &#8211; Get the Java SDK from Sun&#8230;</p>
<blockquote><p> Get it here: <a href="http://java.sun.com/" target="_blank" _base_href="http://createtank.com/">http://java.sun.com/</a></p></blockquote>
<p><a href="http://java.sun.com/" target="_blank" _base_href="http://createtank.com/"></a><br />
2 &#8211; Install the Debian package &#8220;java-package&#8221; &#8230; as root:<span style="color: #808080; font-style: italic"></span></p>
<pre><span style="color: #808080; font-style: italic"># apt-get install java-package</span></pre>
<p>You may also need &#8220;fakeroot&#8221; &#8230; as root:</p>
<pre><span style="color: #808080; font-style: italic"># apt-get install fakeroot</span></pre>
<p>3 &#8211; Create the .deb Package File</p>
<blockquote><p> This step should be done as a <strong>non-root</strong> user. Create a temporary directory and copy the java .bin installer file (from Sun) into it. then run the command:</p></blockquote>
<pre><span style="color: #808080; font-style: italic">$ fakeroot make-jpkg &lt;SUN JAVA SDK FILENAME&gt;.bin</span></pre>
<p>4 &#8211; Install the Java .deb Package &#8230; as root:</p>
<pre><span style="color: #808080; font-style: italic"># dpkg -i &lt;GENERATED DEB PACKAGE FILENAME&gt;.deb</span></pre>
<h2>Final Verification</h2>
<p>Execute the following to verify that the install worked:</p>
<pre><span style="color: #808080; font-style: italic">$ java -version</span></pre>
<hr />
<h2> Quick Summary</h2>
<p>As root:</p>
<pre>
<span style="color: #808080; font-style: italic"># apt-get install java-package</span></pre>
<p>As yourself:</p>
<pre>
<span style="color: #808080; font-style: italic">$ fakeroot make-jpkg &lt;java-binary-package-name&gt;.bin</span></pre>
<p>As root:</p>
<pre>
<span style="color: #808080; font-style: italic"># dpkg -i &lt;created-package-name&gt;.deb</span></pre>
<p><small> This article drew heavily from <em>How to Install Sun Java on Debian</em>, which may be found at the following address: <a href="http://www.crazysquirrel.com/debian/install-sun-java.php" target="_blank" _base_href="http://createtank.com/">http://www.crazysquirrel.com/debian/install-sun-java.php</a>. </small></p>
]]></content:encoded>
			<wfw:commentRss>http://createtank.com/2005/04/install-java-on-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
