<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://tom.conjective.ch/tomtom/rdf'>
    <s:Snip rdf:about='http://tom.conjective.ch/tomtom/rdf#Java+Stuff'
         s:cUser='tom'
         s:oUser='tom'
         s:mUser='tom'>
        <s:name>Java Stuff</s:name>
        <s:content>1 Web Performance Reports&#xD;&#xA;&#xD;&#xA;* http://www.webperformanceinc.com/&#xD;&#xA;&#xD;&#xA;1 java.util.Date Gotchas&#xD;&#xA;&#xD;&#xA;* http://www.mindprod.com/jgloss/gotchas.html#DATE&#xD;&#xA;&#xD;&#xA;...and more by Rodey Green on Dates:&#xD;&#xA;&#xD;&#xA;* http://www.mindprod.com/jgloss/calendar.html&#xD;&#xA;&#xD;&#xA;1 Jar Dependencies Analyzer&#xD;&#xA;&#xD;&#xA;* http://www.it-eye.nl/weblog/2005/07/01/finding-jar-library-dependencies-using-jarjar/&#xD;&#xA;&#xD;&#xA;1 A Great Free Java Profiler&#xD;&#xA;&#xD;&#xA;* http://www.khelekore.org/jmp/index.html&#xD;&#xA;&#xD;&#xA;Running it: Make sure libjmp.dll is on your library path or java process home directory (note: Windows doesn&apos;t support LD_LIBRARY_PATH - it simply uses PATH). Then start up your VM like:  &#xD;&#xA;&#xD;&#xA;java -Xrunjmp my.fine.java.Program &#xD;&#xA;&#xD;&#xA;1 LaunchAnywhere Error &quot;Can&apos;t launch executable&quot;&#xD;&#xA;This can happen if LaunchAnywhere selects an incompatible JRE or JDK on your hard-drive to run its installer. This was the case on my machine with IBM RAD (Rational Application Developer installed).&#xD;&#xA;&#xD;&#xA;To solve the problem, insert the path to a &quot;neutral&quot; Java home &quot;bin&quot; directory in front of your PATH environment variable. I.e. simply install a JRE or JDK from the Java home page and insert the path to&#xD;&#xA;the &apos;bin&apos; directory of that installation at the beginning of your&#xD;&#xA;user PATH environment variable.&#xD;&#xA;&#xD;&#xA;By the way, you can launch a diagnostic console window for LaunchAnywhere by pressing the left control key during LaunchAnywhere start-up.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;1 Sharing Java objects between applet class loader instances&#xD;&#xA;&#xD;&#xA;This is not easily possible. Refer to the following links for more information:&#xD;&#xA;&#xD;&#xA;* http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4225434 and&#xD;&#xA;* http://java.sun.com/products/plugin/1.3.1_01a/new.html&#xD;&#xA;&#xD;&#xA;However, the page [Sharing Java objects between class loader instances] presents a solution.&#xD;&#xA;&#xD;&#xA;1 Self-Signed Java Applets {anchor:Self-Signing Java Code}&#xD;&#xA;&#xD;&#xA;Generate a new keystore &quot;testkey.keystore&quot; as follows:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;keytool -genkey -keyalg RSA -sigalg MD5withRSA -keystore&#xD;&#xA;    testkey.keystore -alias testkey -validity 1460&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Using this command, the keytool will generate a new keypair and create a&#xD;&#xA;self signed certificate for its&#xD;&#xA;public key. To create the certificate, the keytool will prompt for the&#xD;&#xA;necessary bits of X.509 information.&#xD;&#xA;&#xD;&#xA;To sign the applet, use code similar to this (this code snipped was&#xD;&#xA;copied out of an Ant script):&#xD;&#xA;&#xD;&#xA;{code:xml}&#xD;&#xA;&lt;exec executable=&quot;${env.JAVA_HOME}/bin/jarsigner.exe&quot;&gt;&#xD;&#xA;    &lt;arg value=&quot;-keystore&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;testkey.keystore&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;-storepass&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;changeit&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;-signedjar&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;output.jar&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;input.jar&quot;/&gt;&#xD;&#xA;    &lt;arg value=&quot;testkey&quot;/&gt;&#xD;&#xA;&lt;/exec&gt;&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;In order to run an applet signed with this key, the generated&#xD;&#xA;certificate may have to be imported into the Java plugin. &#xD;&#xA;For this, the certificate must be exported and stored in a file (e.g.&#xD;&#xA;&apos;testkey.cer&apos;). The command line used to do&#xD;&#xA;this is:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;keytool -export -alias testkey -file testkey.cer -keystore&#xD;&#xA;    testkey.keystore&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;The default keystore password is &apos;changeit&apos;&#xD;&#xA;</s:content>
        <s:mTime>2008-08-19 09:22:54.762</s:mTime>
        <s:cTime>2005-06-01 23:48:38.927</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='http://tom.conjective.ch/tomtom/rdf#Sharing Java objects between class loader instances'/>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li>
                    <s:Snip rdf:about='http://tom.conjective.ch/tomtom/rdf#Java+Stuff'>
                        <s:attachments
                             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
                    </s:Snip>
                </rdf:li>
                <rdf:li rdf:resource='#Photos'/>
                <rdf:li rdf:resource='#tom'/>
                <rdf:li rdf:resource='http://tom.conjective.ch/tomtom/rdf#ANT Stuff'/>
                <rdf:li rdf:resource='http://tom.conjective.ch/tomtom/rdf#start/2006-06-07/2'/>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li rdf:resource='#snipsnap-notfound'/>
                <rdf:li rdf:resource='http://tom.conjective.ch/tomtom/rdf#XML Stuff'/>
                <rdf:li rdf:resource='http://tom.conjective.ch/tomtom/rdf#start/2005-12-20/1'/>
            </rdf:Bag>
        </s:snipLinks>
    </s:Snip>
</rdf:RDF>

