Javadoc generation

Is there any tool that will generate javadocs for java classes? I would like it to generate everything it can read from procedure headers. The rest I can fill in myself.

Most IDE's do this for you as you write your java classes. Have a look at JBuilder.

Similar Messages

  • Javadocs generation

    Hi all,
    I am generating javadocs for a source file (a ClassA that extends ClassB and implements ClassC ). ClassB and ClassC are from J2SE.
    The problem I am having is that in the generated html file , at the definifition there are no links to the J2SE API docs for ClassB and ClassC. It looks just like this:
    public class ClassA
    extends java.lang.ClassB -----no link here
    implements java.lang.ClassC -------no link here
    This also happens in the "All Implemented Interfaces" section (the implemented link appears but there is no link to the java API).
    Should I configure the JDeveloper 10.1.3 javadoc generator somehow?
    Could you please help me on this?
    Thanks,
    Luiza

    To get hyperlinks to external APIs, you normally have to use the -link or -linkoffline flags to javadoc. See the documentation here:
    http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javadoc.html#link
    In JDeveloper, you would specify this flag in the "Additional Parameters" field on the Javadoc page in Project Properties, e.g.
    -link http://java.sun.com/j2se/1.5.0/docs/api
    Thanks,
    Brian

  • Automatic JavaDoc generation Tool???

    Dear friends,
    I've used Forte, Xemacs etc. IDEs which include tools to automatically document the Java file.
    Is there any tool available which can be used with command line arguments?? if possible please give the details abt it.
    thanking you in advance,
    ketan

    @see http://jrefactory.sourceforge.net/cspretty.html

  • JCOP tools ANT script generation

    Hello,
    does JCOP tools plug-in within Eclipse IDE provide facilities for automatic Ant .xml script generation for building the project (i.e. compilation and convertion) like it provides for javadoc generation?
    I can write compilation .xml script for Ant on my own. But what about the convertion to CAP files?
    Best regards,
    Eve

    I do not know of any possibility/task/facility that generates you an ant script. Ant itself is a way to automatize tasks. So I am afraid you need to dive into ant. It's worth it.

  • Javadoc issue

    Hi All,
    I am trying to generate javadoc for a existing code base (pretty huge one) and when there are some issues like using @@@ instead of @ or using @see to some thing that is not there the whole javadoc generation halts..
    is there any way to skip that file and continue with next or
    generate javadoc with a different version or java version??
    error message
    ~~~~~~~~~~~~~~~~~~~
    warning - @param argument "<b>timeOut</b>"  is not a parameter name.
    java.util.MissingResourceException: Can't find resource for bundle com.sun.tools.doclets.formats.html.resources.standard, key
    doclet.malformed_html_link_tag
            at java.util.ResourceBundle.getObject(ResourceBundle.java:325)
            at java.util.ResourceBundle.getString(ResourceBundle.java:285)
            at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.getText(MessageRetriever.java:114)
            at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.getText(MessageRetriever.java:92)
            at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.getText(MessageRetriever.java:81)
            at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.warning(MessageRetriever.java:290)
            at com.sun.tools.doclets.formats.html.HtmlDocletWriter.redirectRelativeLinks(HtmlDocletWriter.java:1526)
            at com.sun.tools.doclets.formats.html.HtmlDocletWriter.commentTagsToString(HtmlDocletWriter.java:1438)
            at com.sun.tools.doclets.formats.html.HtmlDocletWriter.printCommentTags(HtmlDocletWriter.java:1397)
            at com.sun.tools.doclets.formats.html.HtmlDocletWriter.printSummaryComment(HtmlDocletWriter.java:1370)
            at com.sun.tools.doclets.formats.html.SubWriterHolderWriter.printIndexComment(SubWriterHo
    Command line was:/pkgs/linux/intel/sunjava2/1.5.0_06/jre/../bin/javadoc -J-DproxyHost=10.21.79.250 -J-DproxyPort=8080 @options @packages

    This is a known bug, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5082928
    If possible, use JDK 1.6 to generate your API documentation. (The above report says that this bug has been fixed in the 1.6 release.)

  • [help needed] Javadoc problem with many files

    Hi,
    I have an Ant script generating my javadoc every night. I have about 5700 java files making about 42MB of data.
    It worked fine for two years until two weeks ago, where the script stopped with the following message :
    <<
    [... big snip...]
    [javadoc] C:\Temp\Java\blablabla.java:58: cannot resolve symbol
    [...snip...]
    [javadoc] public HtmlComponent getCell(
    [javadoc] ^
    [javadoc] 100 errors
    [javadoc] 1 warning
    BUILD SUCCESSFUL
    Total time: 1 minute 40 seconds
    >>
    If I execute the javadoc generation on a smaller set of java source files, I still have a lot (100 displayed) of error messages like the one above (which generaly don't stop javadoc), but the generation continues :
    <<
    [...big snip...]
    [javadoc] C:\Temp\Java\xxx.java:12: cannot resolve symbol
    [...snip...]
    [javadoc] public SelectionNoop(Fig fig) {
    [javadoc] ^
    [javadoc] Standard Doclet version 1.4.2_08
    [javadoc] Generating C:\temp\JavadocNewSI\constant-values.html...
    [javadoc] Building tree for all the packages and classes...
    [javadoc] Generating C:\temp\JavadocNewSI\com\zz\common\job\common\class-use\ManagerDelegate.html...
    [...big snip...]
    [javadoc] Generating C:\temp\JavadocNewSI\stylesheet.css...
    [javadoc] 6251 warnings
    BUILD SUCCESSFUL
    Total time: 23 minutes 33 seconds
    >>
    I don't understand what's going on. It is not a memory problem since it issues an intelligible message.
    I also managed to generate javadoc for several subsets, so it can't be a problem with one file or folder crashing javadoc.
    Any help welcome,
    Tug

    Well, it seems that the cause was indeed an empty java file...
    The generation fails if the empty java file is the set AND a refering file is in the set. If only one of these conditions are missing, then javadoc goes on...
    What I don't understand is that the empty file used to be here since may 2005 and the referring class is unchanged since 2004... it never bugged javadoc before.
    Creepy...
    Tug

  • Project website generation

    hi,
    maven has an ability to generate a project website, but i'm finding it hard to use. I was wondering if anyone knows of any other tools that do this alone (maven seems to do an awful lot more which i don't want to use..)
    thanks,
    asjf

    what do you mean with "project website"?you give it the metadata about your project (where you keep tests, what source code metrics you're interested in) and options (whether you x-ref generation, javadoc generation etc..) and it generates a project website.
    To see an automatically generated website you can look at:
    http://maven.apache.org/
    I think everything under "Project Documentation" is automatically generated
    am thinking that biting the bullet and sitting down for a few hours with maven is probably the way to go, but I don't want to have the project dependent on it - just use its website generation features
    To create a simple Internet website you could use
    Macromedia Dreamweaver or Microsoft Frontpage...he he

  • The dreaded "could not find the Main Class, Program will exit", how?

    Hello all,
    I am trying to run my .jar file and I get this error message.
    I want to mention I googled and searched for it, without success: There is so many different explanations!
    I tried this:
    Adding some lines in a manifest.fm file...
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 10.0-b19 (Sun Microsystems Inc.)
    X-COMMENT: Main-Class will be added automatically by build
    I have Netbeans 5.5.
    Also I noticed my "build.xml" file is empty" and my "manifest.fm" nearly empty. I have also added "project, main class" in the options...
    Here is my "build":
    {code}<?xml version="1.0" encoding="UTF-8"?>
    <!-- You may freely edit this file. See commented blocks below for -->
    <!-- some examples of how to customize the build. -->
    <!-- (If you delete it and reopen the project it will be recreated.) -->
    <project name="BetaCourseworkJava3d_Final" default="default" basedir=".">
    <description>Builds, tests, and runs the project BetaCourseworkJava3d_Final.</description>
    <import file="nbproject/build-impl.xml"/>
    <!--
    There exist several targets which are by default empty and which can be
    used for execution of your tasks. These targets are usually executed
    before and after some main targets. They are:
    -pre-init: called before initialization of project properties
    -post-init: called after initialization of project properties
    -pre-compile: called before javac compilation
    -post-compile: called after javac compilation
    -pre-compile-single: called before javac compilation of single file
    -post-compile-single: called after javac compilation of single file
    -pre-compile-test: called before javac compilation of JUnit tests
    -post-compile-test: called after javac compilation of JUnit tests
    -pre-compile-test-single: called before javac compilation of single JUnit test
    -post-compile-test-single: called after javac compilation of single JUunit test
    -pre-jar: called before JAR building
    -post-jar: called after JAR building
    -post-clean: called after cleaning build products
    (Targets beginning with '-' are not intended to be called on their own.)
    Example of inserting an obfuscator after compilation could look like this:
    <target name="-post-compile">
    <obfuscate>
    <fileset dir="${build.classes.dir}"/>
    </obfuscate>
    </target>
    For list of available properties check the imported
    nbproject/build-impl.xml file.
    Another way to customize the build is by overriding existing main targets.
    The targets of interest are:
    -init-macrodef-javac: defines macro for javac compilation
    -init-macrodef-junit: defines macro for junit execution
    -init-macrodef-debug: defines macro for class debugging
    -init-macrodef-java: defines macro for class execution
    -do-jar-with-manifest: JAR building (if you are using a manifest)
    -do-jar-without-manifest: JAR building (if you are not using a manifest)
    run: execution of project
    -javadoc-build: Javadoc generation
    test-report: JUnit report generation
    An example of overriding the target for project execution could look like this:
    <target name="run" depends="BetaCourseworkJava3d_TestsBACKUPSUNDAY05April-impl.jar">
    <exec dir="bin" executable="launcher.exe">
    <arg file="${dist.jar}"/>
    </exec>
    </target>
    Notice that the overridden target depends on the jar target and not only on
    the compile target as the regular run target does. Again, for a list of available
    properties which you can use, check the target you are overriding in the
    nbproject/build-impl.xml file.
    -->
    </project>
    {code}
    my Manifest:
    {code}Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 10.0-b19 (Sun Microsystems Inc.)
    X-COMMENT: Main-Class will be added automatically by build
    {code}
    And my whole code (although I have like 4 .JAVA files in my project):
    {code}
    package courseworkjava3d;
    import java.awt.*;
    import java.awt.event.*;
    import com.sun.j3d.utils.geometry.*;
    import com.sun.j3d.utils.universe.*;
    import javax.swing.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import javax.media.j3d.PositionPathInterpolator;
    import javax.media.j3d.Alpha;
    import javax.media.j3d.BoundingSphere;
    import com.sun.j3d.utils.applet.MainFrame;
    import java.applet.Applet;
    import java.awt.event.WindowAdapter;
    import javax.swing.Timer;
    import com.sun.j3d.utils.image.*;
    public class Simple3D extends JFrame implements ActionListener, KeyListener
    private TransformGroup objTransxx;
    private Button go = new Button("Press to start the Bouncing Ball. Press A and S to move the ball Left and Right once it started!");
    private Transform3D transxx = new Transform3D();
    private float height=0.0f;
    private float sign = 1.0f; // aller vers le haut ou vers le bas
    private Timer timer;
    private float xloc=-2.25f;
    public Simple3D()
    setSize(800, 800);
    GraphicsConfiguration graphicsConfig = SimpleUniverse.getPreferredConfiguration();
    Canvas3D canvas = new Canvas3D(graphicsConfig);
    getContentPane().add("Center", canvas);
    BasicUniverse universe = new BasicUniverse(canvas, 8.0f);
    // Rotate the view platform by PI/4 radians about X in the BasicUniverse
    TransformGroup viewTransform = universe.getViewPlatformTransform();
    Transform3D transform = new Transform3D();
    transform.rotX(-Math.PI / 4.0);
    Transform3D currentTransform = new Transform3D();
    viewTransform.getTransform(currentTransform);
    transform.mul(currentTransform);
    viewTransform.setTransform(transform);
    // Add something to display
    BranchGroup scene = createCubeGraph();
    universe.addBranchGraph(scene);
    /* //ultra important! comment theses lines otherwise it bugs!
    //Merde
    setLayout(new BorderLayout());
    GraphicsConfiguration config =
    SimpleUniverse.getPreferredConfiguration();
    Canvas3D c = new Canvas3D(config); */
    add("Center", canvas);
    //i messed up te code, i replaced canvas c by "canvas" as i already had one!
    canvas.addKeyListener(this);
    timer = new Timer(75,this);
    //timer.start();
    Panel p =new Panel();
    p.add(go);
    add("North",p);
    go.addActionListener(this);
    go.addKeyListener(this);
    // Cr�er une sc�ne simple et l�ajouetr � l�univers
    //BranchGroup scene2 = createCubeGraph();
    //SimpleUniverse u = new SimpleUniverse(c);
    //u.getViewingPlatform().setNominalViewingTransform();
    //u.addBranchGraph(scene2);
    //End Merde
    public BranchGroup createCubeGraph() {
    BranchGroup Humanoid = new BranchGroup();
    //Debut Ball REBOUND
    // Create the root of the branch graph
    //BranchGroup objRoot = new BranchGroup();
    objTransxx = new TransformGroup();
    objTransxx.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    Humanoid.addChild(objTransxx);
    // Cr�er une forme simple et l�ajouter au graph de sc�ne
    Sphere spherex = new Sphere(0.85f);
    objTransxx = new TransformGroup();
    objTransxx.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    Transform3D pos1 = new Transform3D();
    pos1.setTranslation(new Vector3f(-2.0f,0.0f,-2.0f));
    objTransxx.setTransform(pos1);
    objTransxx.addChild(spherex);
    Humanoid.addChild(objTransxx);
    BoundingSphere boundsx =
    new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
    // I messed up the colors: I have applied 2 times some colorslights to the same BranchGroup
    Color3f light1Colorx = new Color3f(1.0f, 1.0f, 1.0f);
    Vector3f light1Directionx = new Vector3f(4.0f, -7.0f, -12.0f);
    DirectionalLight light1x
    = new DirectionalLight(light1Colorx, light1Directionx);
    light1x.setInfluencingBounds(boundsx);
    Humanoid.addChild(light1x);
    // R�gler la lumi�re ambiante
    Color3f ambientColorx = new Color3f(1.0f, 1.0f, 1.0f);
    AmbientLight ambientLightNodex = new AmbientLight(ambientColorx);
    ambientLightNodex.setInfluencingBounds(boundsx);
    Humanoid.addChild(ambientLightNodex);
    // END BallRebound
    // Apparence BODY
    // Configurer les couleurs
    Color3f blackbody = new Color3f(0.0f, 0.0f, 0.0f);
    Color3f whitebody = new Color3f(1.0f, 1.0f, 1.0f);
    Color3f redbody = new Color3f(0.8f, .85f, .85f);
    // Configurer la texture
    //if I want it in Black and white i need to replace RGB by LUMINANCE
    TextureLoader loaderbody = new TextureLoader("C:\\java3d\\body.jpg", "RGB", new Container());
    Texture texturebody = loaderbody.getTexture();
    texturebody.setBoundaryModeS(Texture.WRAP);
    texturebody.setBoundaryModeT(Texture.WRAP);
    texturebody.setBoundaryColor( new Color4f( 1.0f, 1.0f, 0.0f, 0.0f ) );
    // Configurer les attributs de la texture
    // Param�tres possibles : REPLACE, BLEND ou DECAL (ici, MODULATE)
    TextureAttributes texAttrbody = new TextureAttributes();
    texAttrbody.setTextureMode(TextureAttributes.MODULATE);
    Appearance apbody = new Appearance();
    apbody.setTexture(texturebody);
    apbody.setTextureAttributes(texAttrbody);
    //Configurer le mat�riau
    apbody.setMaterial(new Material(redbody, blackbody, redbody, blackbody, 1.0f));
    // Cr�er une sph�re pour y appliquer les textures
    int primflagsbody = Primitive.GENERATE_NORMALS + Primitive.GENERATE_TEXTURE_COORDS;
    // End Apparence BODY
    // Apparence BODYHEAD
    // Configurer les couleurs
    Color3f blackbodyH = new Color3f(0.0f, 0.0f, 0.0f);
    Color3f whitebodyH = new Color3f(1.0f, 1.0f, 1.0f);
    Color3f redbodyH = new Color3f(0.8f, .85f, .85f);
    // Configurer la texture
    //if I want it in Black and white i need to replace RGB by LUMINANCE
    TextureLoader loaderbodyH = new TextureLoader("C:\\java3d\\head.jpg", "RGB", new Container());
    Texture texturebodyH = loaderbodyH.getTexture();
    texturebodyH.setBoundaryModeS(Texture.WRAP);
    texturebodyH.setBoundaryModeT(Texture.WRAP);
    texturebodyH.setBoundaryColor( new Color4f( 1.0f, 1.0f, 0.0f, 0.0f ) );
    // Configurer les attributs de la texture
    // Param�tres possibles : REPLACE, BLEND ou DECAL (ici, MODULATE)
    TextureAttributes texAttrbodyH = new TextureAttributes();
    texAttrbodyH.setTextureMode(TextureAttributes.MODULATE);
    Appearance apbodyH = new Appearance();
    apbodyH.setTexture(texturebodyH);
    apbodyH.setTextureAttributes(texAttrbodyH);
    //Configurer le mat�riau
    apbodyH.setMaterial(new Material(redbodyH, blackbodyH, redbodyH, blackbodyH, 1.0f));
    // Cr�er une sph�re pour y appliquer les textures
    int primflagsbodyH = Primitive.GENERATE_NORMALS + Primitive.GENERATE_TEXTURE_COORDS;
    // End Apparence BODY HEAD
    //for the trunk c le corps
    TransformGroup fortheTrunk = new TransformGroup();
    //will allow to modify object wgile executing
    fortheTrunk.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    //alpha rotation time related
    Alpha rotationAlpha2=new Alpha(-1,9000);
    //behviour for our rotation
    RotationInterpolator rotator2= new RotationInterpolator(rotationAlpha2,fortheTrunk);
    // area where rotation will be
    BoundingSphere bounds2=new BoundingSphere();
    rotator2.setSchedulingBounds(bounds2);
    fortheTrunk.addChild(rotator2);
    //end of rtotation
    Alpha transAlphahuman=new Alpha(-1,600);
    //transform 3d trans for the interpolatipon HUMANOID
    Transform3D transhumanoid=new Transform3D();
    //matrix for 2positions
    Point3f[] cheminhuman=new Point3f[3];
    cheminhuman[0]=new Point3f(0.8f,0.0f,0.0f);
    cheminhuman[1]=new Point3f(-0.8f,0.0f,0.0f);
    cheminhuman[2]=new Point3f(0.8f,0.0f,0.0f);
    //matrix of floats to make the dots match with timeline
    float[] timePositionhuman={0.0f,0.50f,1.0f};
    PositionPathInterpolator interpolhuman=new PositionPathInterpolator(transAlphahuman,fortheTrunk,transhumanoid,timePositionhuman,cheminhuman);
    BoundingSphere bounds4=new BoundingSphere();
    interpolhuman.setSchedulingBounds(bounds4);
    fortheTrunk.addChild(interpolhuman);
    //add the trunk to the branchgroup
    Humanoid.addChild(fortheTrunk);
    TransformGroup zeTrunk = new TransformGroup();
    zeTrunk.addChild(new com.sun.j3d.utils.geometry.Box(.55f,.80f,.50f,
    primflagsbody,apbody));
    //t3D for the head= bouge up
    Transform3D T3DHead = new Transform3D();
    T3DHead.set(new Vector3f(0f,1.1f,0f));
    //create a tranform group for this t3Dhead
    TransformGroup fortheHead = new TransformGroup();
    fortheHead.setTransform(T3DHead);
    //add the box head
    //fortheHead.addChild(new com.sun.j3d.utils.geometry.Box(.20f,.20f,.10f, primflagsbody,apbody));
    fortheHead.addChild(new com.sun.j3d.utils.geometry.Sphere(0.35f,primflagsbodyH,apbodyH));
    /* I dont need that anymore it was for putting a flat texture on a face. I chose a sphere instead!
    //transform 3D for the face
    Transform3D T3DFace = new Transform3D();
    T3DFace.set(new Vector3f(0f,0f,.14f));
    //create a TransformGroup for this Face
    TransformGroup Face = new TransformGroup();
    Face.setTransform(T3DFace);
    //add the child box to the face;
    Face.addChild(new com.sun.j3d.utils.geometry.Box(.20f,.20f,.2f,
    primflagsbodyH,apbodyH));
    //add this face to the head as a child
    fortheHead.addChild(Face);
    //tranform3d left arm
    Transform3D T3DArmL = new Transform3D();
    T3DArmL.set(new Vector3f(-0.79f,0.73f,0f));
    //create Tranform Group for the leftarm
    TransformGroup fortheArmL = new TransformGroup();
    fortheArmL.setTransform(T3DArmL);
    //add the group for upperarm
    TransformGroup ArmL = new TransformGroup();
    ArmL.addChild(new com.sun.j3d.utils.geometry.Box(.25f,.14f,.10f,
    primflagsbody,apbody));
    fortheArmL.addChild(ArmL);
    //create a transform3D for the forearmleft
    Transform3D T3DForearmL = new Transform3D();
    T3DForearmL.set(new Vector3f(-.51f,0f,0f));
    //create the tranformgroup for the forearmleft
    TransformGroup ForearmL = new TransformGroup();
    ForearmL.setTransform(T3DForearmL);
    //add the child box to forearm
    ForearmL.addChild(new com.sun.j3d.utils.geometry.Box(.20f,.14f,.10f,
    primflagsbody,apbody));
    ArmL.addChild(ForearmL);
    //create transform 3d for the lefthand
    Transform3D T3DHandL = new Transform3D();
    T3DHandL.set(new Vector3f(-.42f,0f,0f));
    //create the child tranform group for the box of the hand
    TransformGroup HandL= new TransformGroup();
    HandL.setTransform(T3DHandL);
    //add the child hand to the forearm
    ForearmL.addChild(HandL);
    //create the box for the handLeft
    HandL.addChild(new com.sun.j3d.utils.geometry.Box(.10f,.140f,.10f,
    primflagsbody,apbody));
    //Right Arm
    //tranform3d right arm
    Transform3D T3DArmR = new Transform3D();
    T3DArmR.set(new Vector3f(0.79f,0.73f,0f));
    //create Tranform Group for the right arm
    TransformGroup fortheArmR = new TransformGroup();
    fortheArmR.setTransform(T3DArmR);
    //add the group for upperarm right
    TransformGroup ArmR = new TransformGroup();
    ArmR.addChild(new com.sun.j3d.utils.geometry.Box(.25f,.14f,.10f, primflagsbody,apbody));
    //com.sun.j3d.utils.geometry.Box.GENERATE_NORMALS,new Appearance()));
    fortheArmR.addChild(ArmR);
    //create a transform3D for the forearmright
    Transform3D T3DForearmR = new Transform3D();
    T3DForearmR.set(new Vector3f(.51f,0f,0f));
    //create the tranformgroup for the forearmright
    TransformGroup ForearmR = new TransformGroup();
    ForearmR.setTransform(T3DForearmR);
    //add the child box to forearmright
    ForearmR.addChild(new com.sun.j3d.utils.geometry.Box(.20f,.14f,.10f, primflagsbody,apbody));
    ArmR.addChild(ForearmR);
    //create transform 3d for the righthand
    Transform3D T3DHandR = new Transform3D();
    T3DHandR.set(new Vector3f(.42f,0f,0f));
    //create the child tranform group for the box of the hand
    TransformGroup HandR= new TransformGroup();
    HandR.setTransform(T3DHandR);
    //add the child hand to the forearmright
    ForearmR.addChild(HandR);
    //create the box for the handright
    HandR.addChild(new com.sun.j3d.utils.geometry.Box(.10f,.14f,.10f, primflagsbody,apbody));
    //Left Leg
    //tranform3d left leg
    Transform3D T3DLegL = new Transform3D();
    T3DLegL.set(new Vector3f(0.43f,-1.23f,0f));
    //create Tranform Group for the leftleg
    TransformGroup fortheLegL = new TransformGroup();
    fortheLegL.setTransform(T3DLegL);
    //add the group for uppeleg
    TransformGroup LegL = new TransformGroup();
    LegL.addChild(new com.sun.j3d.utils.geometry.Box(.16f,.35f,.10f, primflagsbody,apbody));
    fortheLegL.addChild(LegL);
    //create a transform3D for the downlegleft
    Transform3D T3DDownLegL = new Transform3D();
    T3DDownLegL.set(new Vector3f(0f,-.70f,0f));
    //create the tranformgroup for the downegleft
    TransformGroup DownLegL = new TransformGroup();
    DownLegL.setTransform(T3DDownLegL);
    //add the child box to downlegm
    DownLegL.addChild(new com.sun.j3d.utils.geometry.Box(.16f,.25f,.10f, primflagsbody,apbody));
    LegL.addChild(DownLegL);
    //create transform 3d for the leftfeet
    Transform3D T3DFeetL = new Transform3D();
    T3DFeetL.set(new Vector3f(.0f,-.45f,0f));
    //create the child tranform group for the box of thefeet
    TransformGroup FeetL= new TransformGroup();
    FeetL.setTransform(T3DFeetL);
    //add the child hand to the downleg
    DownLegL.addChild(FeetL);
    //create the box for the feetLeft
    FeetL.addChild(new com.sun.j3d.utils.geometry.Box(.16f,.10f,.15f, primflagsbody,apbody));
    //Right Leg
    //tranform3dright leg
    Transform3D T3DLegR = new Transform3D();
    T3DLegR.set(new Vector3f(-0.43f,-1.23f,0f));
    //create Tranform Group for the righttleg
    TransformGroup fortheLegR = new TransformGroup();
    fortheLegR.setTransform(T3DLegR);
    //add the group for uppelegR
    TransformGroup LegR = new TransformGroup();
    LegR.addChild(new com.sun.j3d.utils.geometry.Box(.16f,.35f,.10f, primflagsbody,apbody));
    fortheLegR.addChild(LegR);
    //create a transform3D for the downlegright
    Transform3D T3DDownLegR = new Transform3D();
    T3DDownLegR.set(new Vector3f(0f,-.70f,0f));
    //create the tranformgroup for the downegright
    TransformGroup DownLegR = new TransformGroup();
    DownLegR.setTransform(T3DDownLegR);
    //add the child box to downlegRight
    DownLegR.addChild(new com.sun.j3d.utils.geometry.Box(.16f,.25f,.10f, primflagsbody,apbody));
    LegR.addChild(DownLegR);
    //create transform 3d for the rightfeet
    Transform3D T3DFeetR = new Transform3D();
    T3DFeetR.set(new Vector3f(.0f,-.45f,0f));
    //create the child tranform group for the box of thefeetright
    TransformGroup FeetR= new TransformGroup();
    FeetR.setTransform(T3DFeetR);
    //add the child feet right to the downleg
    DownLegR.addChild(FeetR);
    //create the box for the feetright
    FeetR.addChild(new com.sun.j3d.utils.geometry.Box(.16f,.10f,.15f, primflagsbody,apbody));
    //rajoute la box zetrunk et des fils
    fortheTrunk.addChild(zeTrunk);
    fortheTrunk.addChild(fortheHead);
    fortheTrunk.addChild(fortheArmL);
    fortheTrunk.addChild(fortheArmR);
    fortheTrunk.addChild(fortheLegL);
    fortheTrunk.addChild(fortheLegR);
    //DEBUT CUBE
    //beginning of rotation
    TransformGroup objSpin=new TransformGroup();
    //create transform 3d for box which spin
    Transform3D T3DobjSpin = new Transform3D();
    T3DobjSpin.set(new Vector3f(-2.50f,.45f,0f));
    //create the child tranform group for the box which spin
    objSpin.setTransform(T3DobjSpin);
    //will allow to modify object while executing
    objSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    //alpha rotation time related
    Alpha rotationAlpha=new Alpha(-1,900);
    Alpha transAlpha=new Alpha(-1,900);
    //transform 3d trans for the interpolatipon
    Transform3D trans=new Transform3D();
    //matrix for 2positions
    Point3f[] chemin=new Point3f[3];
    chemin[0]=new Point3f(-2.8f,0.40f,1.0f);
    chemin[1]=new Point3f(-0.8f,0.40f,1.0f);
    chemin[2]=new Point3f(-2.8f,0.40f,1.0f);
    //matrix of floats to make the dots match with timeline
    float[] timePosition={0.0f,0.50f,1.0f};
    PositionPathInterpolator interpol=new PositionPathInterpolator(transAlpha,objSpin,trans,timePosition,chemin);
    BoundingSphere bounds3=new BoundingSphere();
    interpol.setSchedulingBounds(bounds3);
    objSpin.addChild(interpol);
    //behviour for our rotation
    RotationInterpolator rotator= new RotationInterpolator(rotationAlpha,objSpin);
    // area where rotation will be
    BoundingSphere bounds=new BoundingSphere();
    rotator.setSchedulingBounds(bounds);
    objSpin.addChild(rotator);
    //end of rtotation
    //add transform group objspin to branchgroup humanoid
    Humanoid.addChild(objSpin);
    //test a cube which heritate of this rotation?
    objSpin.addChild(new ColorCube(0.25));
    //test
    //module cube + transparency
    // create an ALPHA transparency apparence (invisible)
    Appearance app0x=new Appearance();
    app0x.setColoringAttributes(new ColoringAttributes(new Color3f(0.3f,0.2f,1.0f),ColoringAttributes.SHADE_GOURAUD));
    app0x.setTransparencyAttributes(new TransparencyAttributes(TransparencyAttributes.NICEST,0.5f));//0.5f represente 50% de transparence
    // create the blue sphere which rotate
    Transform3D transsphere=new Transform3D();
    transsphere.set(new Vector3f(0.0f, -0.1f, 0.3f));
    TransformGroup TGsphere=new TransformGroup(transsphere);
    TGsphere.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    objSpin.addChild(TGsphere);
    //objRotatecube.addChild(TGsphere);
    TGsphere.addChild( new Sphere(0.3f,app0x) );
    //End Module Cube + Transparency
    //END CUBE
    //DEBUT WHOLE BIRD
    //beginning of Rotation for Bird
    TransformGroup Bird=new TransformGroup();
    //will allow to modify object while executing
    Bird.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    //alpha rotation time related
    Alpha rotationAlphaBird=new Alpha(-1,400);
    Alpha transAlphaBird=new Alpha(-1,5990);
    //transform 3d trans for the interpolatipon
    Transform3D transBird=new Transform3D();
    //create transform 3d for the Bird
    transBird.set(new Vector3f(1.90f,-.45f,0.9f));
    //create the child tranform group for the Bird Box
    Bird.setTransform(transBird);
    //matrix for 2positions
    Point3f[] cheminBird=new Point3f[3];
    cheminBird[0]=new Point3f(1.95f,0.0f,-6.8f);
    cheminBird[1]=new Point3f(1.95f,0.90f,-0.8f);
    cheminBird[2]=new Point3f(1.95f,0.0f,5.8f);
    //matrix of floats to make the dots match with timeline
    float[] timePositionBird={0.00f,0.50f,1.0f};
    PositionPathInterpolator interpolBird=new PositionPathInterpolator(transAlphaBird,Bird,transBird,timePosition,cheminBird);
    BoundingSphere bounds3Bird=new BoundingSphere();
    //BoundingSphere bounds3Bird= new BoundingSphere(new Point3d(0.0, 0.0, -50.0), 0.5);
    interpolBird.setSchedulingBounds(bounds3Bird);
    Bird.addChild(interpolBird);
    //behviour for our rotation
    RotationInterpolator rotatorBird= new RotationInterpolator(rotationAlphaBird,Bird);
    // area where rotation will be
    BoundingSphere boundsBird=new BoundingSphere();
    rotatorBird.setSchedulingBounds(boundsBird);
    Bird.addChild(rotatorBird);
    //end of rotation For Bird
    //add transform group objspin to branchgroup humanoid
    Humanoid.addChild(Bird);
    //debut test APPARENCE Wing Left
    //test textures
    // Configurer les couleurs
    Color3f blackx = new Color3f(0.0f, 0.0f, 0.0f);
    Color3f whitex = new Color3f(1.0f, 1.0f, 1.0f);
    Color3f redx = new Color3f(0.7f, .75f, .75f);
    // Configurer la texture
    TextureLoader loaderx = new TextureLoader("C:\\java3d\\pois.jpg", "RGB", new Container());
    Texture texturex = loaderx.getTexture();
    texturex.setBoundaryModeS(Texture.WRAP);
    texturex.setBoundaryModeT(Texture.WRAP);
    texturex.setBoundaryColor( new Color4f( 0.0f, 1.0f, 0.0f, 0.0f ) );
    // Configurer les attributs de la texture
    // Param�tres possibles : REPLACE, BLEND ou DECAL (ici, MODULATE)
    TextureAttributes texAttrx = new TextureAttributes();
    texAttrx.setTextureMode(TextureAttributes.REPLACE);
    Appearance apx = new Appearance();
    apx.setTexture(texturex);
    apx.setTextureAttributes(texAttrx);
    //Configurer le mat�riau
    apx.setMaterial(new Material(redx, blackx, redx, blackx, 1.0f));
    int primflagsx = Primitive.GENERATE_NORMALS + Primitive.GENERATE_TEXTURE_COORDS;
    //End test APPARENCE Wing Left
    //test a cube which heritate of this rotation?
    // Bird.addChild(new ColorCube(0.8));
    //test bird body
    // Bird.addChild(new com.sun.j3d.utils.geometry.Box(.25f,.22f,.45f,
    // com.sun.j3d.utils.geometry.Box.GENERATE_NORMALS,new Appearance()));
    Bird.addChild(new com.sun.j3d.utils.geometry.Box(.25f,.22f,.45f, primflagsx,apx));
    //test WingRightBird
    //create a transform3D for the BirdWIngR
    Transform3D T3DBirdWingR = new Transform3D();
    T3DBirdWingR.set(new Vector3f(0.45f,.0f,-0.35f));
    //create the tranformgroup for the BirdWIngR
    TransformGroup BirdWingR = new TransformGroup();
    BirdWingR.setTransform(T3DBirdWingR);
    //add the child box to BirdWIngR
    // BirdWingR.addChild(new com.sun.j3d.utils.geometry.Box(.43f,.07f,.22f,
    // com.sun.j3d.utils.geometry.Box.GENERATE_NORMALS,new Appearance()));
    //End test WingRightBird
    ////////comments/////////
    //beginning of Rotating WINR
    //----------------------d�but de la cr�ation de la rotation--------------------------------
    TransformGroup WinRSpin=new TransformGroup();
    // permet de modifier l'objet pendant l'execution
    WinRSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    // on cr�e un fonction de rotation au cours du temps
    Alpha rotationAlphaWinRSpin=new Alpha(-1,1000);
    Transform3D rot = new Transform3D();
    rot.rotX((float)Math.PI/- 2.0f);
    //rot.rotX(-45);
    //rot.rotX((-Math.PI / 4.0)+30);
    //rot.rotZ((-Math.PI / 4.0));
    //rot.rotX(-Math.PI / 4.0);
    //rot.rotY(-Math.PI / 4.0);
    // rot.rotZ(-Math.PI / 4.0);
    // rot.rotY(00);
    //rot.rotZ(45);
    // on cr�e un comportement qui va appliquer la rotation � l'objet voulu
    // on d�finit la zone sur laquelle va s'appliquer la rotation
    //RotationInterpolator rotatorWinRSpin=new RotationInterpolator(rotationAlphaWinRSpin,WinRSpin, rot, 0.50f,(float)(2.0*Math.PI));
    RotationInterpolator rotatorWinRSpin=new RotationInterpolator(rotationAlphaWinRSpin,WinRSpin, rot, 25,26);
    BoundingSphere boundsWinRSpin=new BoundingSphere(new Point3d((Math.PI / 4.0), 0.0, 0.0), 0.5);
    // boundsWinRSpin.setCenter(new Point3d((Math.PI / 4.0),0,0));
    boundsWinRSpin.setCenter(new Point3d(-10,0,0));
    //boundsWinRSpin.setCenter();
    //test put a t3d to a boundingsphere??
    //Transform3D T3Dbounding = new Transform3D();
    // T3Dbounding.set(new Vector3f(5.00f,0.0f,0.00f));
    //WinRSpin.setTransform(T3Dbounding);
    //end test put a t3d to a boundingsphere, not working
    rotatorWinRSpin.setSchedulingBounds(boundsWinRSpin);
    // test BoundingSphere of BODY BIRD rotatorWinRSpin.setSchedulingBounds(boundsBird);
    WinRSpin.addChild(rotatorWinRSpin);
    //----------------------End de la cr�ation de la rotation--------------------------------
    BirdWingR.addChild(WinRSpin);
    // on cree un cube qui h�rite de la rotation
    //WinRSpin.addChild(new ColorCube(0.5));// de rayon 50 cm
    WinRSpin.addChild(new com.sun.j3d.utils.geometry.Box(.43f,.07f,.22f, primflagsx,apx));
    //End of Rotating WINR
    //////// END comments/////////
    //I commented the following, that was the TEST sinusoidal, rotation which help me understood how to rotate wingR
    // -----------d�but de cr�ation de la rotation--------------------------------------------------
    TransformGroup objSpinxx=new TransformGroup();
    // permet de modifier l'objet pendant l'execution
    objSpinxx.setCapability(TransformGroup.ALL

    Thank you very much!
    I cant believe this little comment has been so helpful!
    But yes it is:
    I explain, despite my efforts to find, googled it, forums, faqs, etc...
    no where it mentionned the manifest.fm file is... INSIDE the .jar!
    Your comment "a zip" made me attempt to open it with winrar, and I found a manifest.fm file inside!
    So far I was editing the one at the "source" of my project and rebuilding it with netbeans.
    I am going to try that now.
    Actually.... :( no its mentionning my main class!
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 10.0-b19 (Sun Microsystems Inc.)
    Main-class: courseworkjava3d.Simple3D
    Class-Path:
    X-COMMENT: Main-Class will be added automatically by buildWell I have no problems uploading you the .jar, it is for a coursework it is not a private project or whatever:
    http://www.uploading.com/files/CM2LKWYU/BetaCourseworkJava3d_Final.jar.html
    Oh and I felt on your comment "dont ask us" as if I was suppose to know... i'm a beginner, I did not know that! And I tried to give you so many infos so you dont lose your time if you want to help, especially as after my own research I found many, many results for this "main class" and I tried a few solutions!
    Edited by: CupofTea on Apr 13, 2008 3:28 AM

  • Jar not running is sarge and apache-ant  shows error of package not found

    Hello,
    First of all I am not a java programmer. I work in C/C++/C#.
    Currently I am dealing a game written in java (1.5) using netbeans 5.5.0 under windows xp. My target is to compile in my development machine and run in the clients machine. everything works fine in windows xp. I open the netbeans ide, load the necessary class libraries, build the project and run it. it runs without any problem.
    The problem begins when I run the same project from linux (fedora). it doest not run. It shows some error.
    <error platform="fedora 7">
    Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException:
    No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
    at java.awt.Window.<init>(Window.java:406)
    at java.awt.Frame.<init>(Frame.java:402)
    at java.awt.Frame.<init>(Frame.java:367)
    at javax.swing.JFrame.<init>(JFrame.java:163)
    at netbeansapplication.nbApplication.<init>(nbApplication.java:52)
    at netbeansapplication.nbApplication$14.run(nbApplication.java:453)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    </error>
    Some of these error were resolved when I set the DISPLAY variable (export DISPLAY="127.0.0.1:0") but the other errors were still there.
    But when I open this same project in netbeans and resolve the dependencies with class libraries it works ok after compiling.
    I can run it from console (java -jar ...)
    And again the same source tree shows the following error when I am in windows !!! (by java -jar ... command)
    <error platform="WinXPSP2">
    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:468)
    at java.lang.Integer.parseInt(Integer.java:497)
    at cherrygame.global.readConfigForStickProtection(global.java:2060)
    at cherrygame.nbCherryGame.<init>(nbCherryGame.java:243)
    at netbeansapplication.nbApplication.<init>(nbApplication.java:46)
    at netbeansapplication.nbApplication$14.run(nbApplication.java:453)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    </error>
    I see that netbeans uses ant to compile project in the background.
    then I tried using ant to compile.
    doing only `#ant compile` where build.xml resides does the compilation.
    after that I try to run it (by java -jar ...). again the above error shows up.
    What would I do?
    If I compile it with netbeans in machine A then it runs well in A but not in machine B.
    If I compile it with ANT in machine A then it doesn't run in A, no chance for machine B.
    the contents of my build xml is here
    <code file="build.xml">
    <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- You may freely edit this file. See commented blocks below for -->
    <!-- some examples of how to customize the build. -->
    <!-- (If you delete it and reopen the project it will be recreated.) -->
    <project name="NetBeansApplication" default="default" basedir=".">
    <description>Builds, tests, and runs the project NetBeansApplication.</description>
    <import file="nbproject/build-impl.xml"/>
    <!--
    There exist several targets which are by default empty and which can be
    used for execution of your tasks. These targets are usually executed
    before and after some main targets. They are:
    -pre-init: called before initialization of project properties
    -post-init: called after initialization of project properties
    -pre-compile: called before javac compilation
    -post-compile: called after javac compilation
    -pre-compile-single: called before javac compilation of single file
    -post-compile-single: called after javac compilation of single file
    -pre-compile-test: called before javac compilation of JUnit tests
    -post-compile-test: called after javac compilation of JUnit tests
    -pre-compile-test-single: called before javac compilation of single JUnit test
    -post-compile-test-single: called after javac compilation of single JUunit test
    -pre-jar: called before JAR building
    -post-jar: called after JAR building
    -post-clean: called after cleaning build products
    (Targets beginning with '-' are not intended to be called on their own.)
    Example of inserting an obfuscator after compilation could look like this:
    <target name="-post-compile">
    <obfuscate>
    <fileset dir="${build.classes.dir}"/>
    </obfuscate>
    </target>
    For list of available properties check the imported
    nbproject/build-impl.xml file.
    Another way to customize the build is by overriding existing main targets.
    The targets of interest are:
    -init-macrodef-javac: defines macro for javac compilation
    -init-macrodef-junit: defines macro for junit execution
    -init-macrodef-debug: defines macro for class debugging
    -init-macrodef-java: defines macro for class execution
    -do-jar-with-manifest: JAR building (if you are using a manifest)
    -do-jar-without-manifest: JAR building (if you are not using a manifest)
    run: execution of project
    -javadoc-build: Javadoc generation
    test-report: JUnit report generation
    An example of overriding the target for project execution could look like this:
    <target name="run" depends="NetBeansApplication-impl.jar">
    <exec dir="bin" executable="launcher.exe">
    <arg file="${dist.jar}"/>
    </exec>
    </target>
    Notice that the overridden target depends on the jar target and not only on
    the compile target as the regular run target does. Again, for a list of available
    properties which you can use, check the target you are overriding in the
    nbproject/build-impl.xml file.
    -->
    <target name="-post-jar">
    <jar update="true" destfile="${dist.jar}">
    <zipfileset src="${libs.swing-layout.classpath}"/>
    <zipfileset src="${libs.addMoney.classpath}"/>
    <zipfileset src="${libs.NormalWindow.classpath}"/>
    </jar>
    </target>
    </project>
    ]]>
    </code>
    my directory contents is here. note. I have 2 packages "cgwindow2" and "NormalWindow" for class libraries and my main application is "CherryGame". The game is "game.jar" in the CherryGame folder.
    <listing foldername="CherryGame">
    D:\src\java\CherryGame\build.xml
    D:\src\java\CherryGame\BW.txt
    D:\src\java\CherryGame\config.txt
    D:\src\java\CherryGame\config.txt.lin
    D:\src\java\CherryGame\flopsfile.txt
    D:\src\java\CherryGame\game.jar
    D:\src\java\CherryGame\LWMoneyfile.txt
    D:\src\java\CherryGame\mfile.txt
    D:\src\java\CherryGame\mfile2.txt
    D:\src\java\CherryGame\mfile3.txt
    D:\src\java\CherryGame\TotalRollsTillBigWin.txt
    D:\src\java\CherryGame\UserFile.txt
    D:\src\java\CherryGame\build\classes\cherrygame\addMoneyFrame.class
    D:\src\java\CherryGame\build\classes\cherrygame\addMoneyPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\cardsPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\cardsWindow$1.class
    D:\src\java\CherryGame\build\classes\cherrygame\cardsWindow.class
    D:\src\java\CherryGame\build\classes\cherrygame\cherryGameBackPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\cherryWindow.class
    D:\src\java\CherryGame\build\classes\cherrygame\customBorderCherryGame.class
    D:\src\java\CherryGame\build\classes\cherrygame\FixedGlassPane.class
    D:\src\java\CherryGame\build\classes\cherrygame\global.class
    D:\src\java\CherryGame\build\classes\cherrygame\helpPanelOne.class
    D:\src\java\CherryGame\build\classes\cherrygame\imagesPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\messageWindow.class
    D:\src\java\CherryGame\build\classes\cherrygame\messageWindow2.class
    D:\src\java\CherryGame\build\classes\cherrygame\messageWindow3.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$1.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$10.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$11.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$12.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$13.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$14.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$15.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$16.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$17.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$18.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$19.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$2.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$20.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$21.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$22.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$23.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$24.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$25.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$26.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$27.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$28$1.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$28$2.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$28.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$29.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$3.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$30.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$31.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$32.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$33.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$34.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$35.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$36.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$37.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$38.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$39.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$4.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$40.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$41.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$42.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$43.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$44.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$45.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$46.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$5.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$6.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$7.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$8.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$9.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$MyTask.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame.class
    D:\src\java\CherryGame\build\classes\cherrygame\panelMessage.class
    D:\src\java\CherryGame\build\classes\cherrygame\panelMessage2.class
    D:\src\java\CherryGame\build\classes\cherrygame\panelMessage3.class
    D:\src\java\CherryGame\build\classes\lpt\LPT.class
    D:\src\java\CherryGame\build\classes\lpt\events\Events.class
    D:\src\java\CherryGame\build\classes\lpt\events\LPTEvent.class
    D:\src\java\CherryGame\build\classes\lpt\events\LPTEventListener.class
    D:\src\java\CherryGame\build\classes\lpt\ieee1284\PPParallelPort.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\customBorder.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$1.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$10.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$11.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$12.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$13.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$14.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$2.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$3.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$4.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$5.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$6.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$7.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$8.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$9.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication.class
    D:\src\java\CherryGame\dist\NetBeansApplication.jar
    D:\src\java\CherryGame\dist\javadoc\package-list
    D:\src\java\CherryGame\dist\javadoc\stylesheet.css
    D:\src\java\CherryGame\dist\javadoc\resources\inherit.gif
    D:\src\java\CherryGame\nbproject\build-impl.xml
    D:\src\java\CherryGame\nbproject\genfiles.properties
    D:\src\java\CherryGame\nbproject\project.properties
    D:\src\java\CherryGame\nbproject\project.xml
    D:\src\java\CherryGame\nbproject\private\private.properties
    D:\src\java\CherryGame\nbproject\private\private.xml
    D:\src\java\CherryGame\src\customBorder.java
    D:\src\java\CherryGame\src\nbApplication.form
    D:\src\java\CherryGame\src\nbApplication.java
    D:\src\java\CherryGame\src\cherrygame\addMoneyFrame.form
    D:\src\java\CherryGame\src\cherrygame\addMoneyFrame.java
    D:\src\java\CherryGame\src\cherrygame\addMoneyPanel.form
    D:\src\java\CherryGame\src\cherrygame\addMoneyPanel.java
    D:\src\java\CherryGame\src\cherrygame\cardsPanel.java
    D:\src\java\CherryGame\src\cherrygame\cardsWindow.form
    D:\src\java\CherryGame\src\cherrygame\cardsWindow.java
    D:\src\java\CherryGame\src\cherrygame\cherryGameBackPanel.form
    D:\src\java\CherryGame\src\cherrygame\cherryGameBackPanel.java
    D:\src\java\CherryGame\src\cherrygame\cherryWindow.java
    D:\src\java\CherryGame\src\cherrygame\customBorderCherryGame.java
    D:\src\java\CherryGame\src\cherrygame\global.java
    D:\src\java\CherryGame\src\cherrygame\helpPanelOne.form
    D:\src\java\CherryGame\src\cherrygame\helpPanelOne.java
    D:\src\java\CherryGame\src\cherrygame\imagesPanel.java
    D:\src\java\CherryGame\src\cherrygame\messageWindow.form
    D:\src\java\CherryGame\src\cherrygame\messageWindow.java
    D:\src\java\CherryGame\src\cherrygame\messageWindow2.form
    D:\src\java\CherryGame\src\cherrygame\messageWindow2.java
    D:\src\java\CherryGame\src\cherrygame\messageWindow3.form
    D:\src\java\CherryGame\src\cherrygame\messageWindow3.java
    D:\src\java\CherryGame\src\cherrygame\nbCherryGame.form
    D:\src\java\CherryGame\src\cherrygame\nbCherryGame.java
    D:\src\java\CherryGame\src\cherrygame\panelMessage.form
    D:\src\java\CherryGame\src\cherrygame\panelMessage.java
    D:\src\java\CherryGame\src\cherrygame\panelMessage2.form
    D:\src\java\CherryGame\src\cherrygame\panelMessage2.java
    D:\src\java\CherryGame\src\cherrygame\panelMessage3.form
    D:\src\java\CherryGame\src\cherrygame\panelMessage3.java
    D:\src\java\CherryGame\src\lpt\LPT.java
    D:\src\java\CherryGame\src\lpt\events\Events.java
    D:\src\java\CherryGame\src\lpt\events\LPTEvent.java
    D:\src\java\CherryGame\src\lpt\events\LPTEventListener.java
    D:\src\java\CherryGame\src\lpt\ieee1284\PPParallelPort.java
    </listing>
    <listing foldername="NormalWindow">
    D:\src\java\NormalWindow\build.xml
    D:\src\java\NormalWindow\manifest.mf
    D:\src\java\NormalWindow\build\classes\normalwindow\global.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$1.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$10.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$11.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$12.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$13.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$14.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$15.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$16.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$17.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$2.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$3.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$4.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$5.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$6.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$7.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$8.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$9.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$1.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$2.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$3.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$4.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$5.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog.class
    D:\src\java\NormalWindow\dist\NormalWindow.jar
    D:\src\java\NormalWindow\dist\README.TXT
    D:\src\java\NormalWindow\dist\_normalwindow.jar
    D:\src\java\NormalWindow\dist\lib\swing-layout-1.0.jar
    D:\src\java\NormalWindow\nbproject\build-impl.xml
    D:\src\java\NormalWindow\nbproject\genfiles.properties
    D:\src\java\NormalWindow\nbproject\project.properties
    D:\src\java\NormalWindow\nbproject\project.xml
    D:\src\java\NormalWindow\nbproject\private\private.properties
    D:\src\java\NormalWindow\nbproject\private\private.xml
    D:\src\java\NormalWindow\src\normalwindow\global.java
    D:\src\java\NormalWindow\src\normalwindow\NormalWindow.form
    D:\src\java\NormalWindow\src\normalwindow\NormalWindow.java
    D:\src\java\NormalWindow\src\normalwindow\PasswordDialog.form
    D:\src\java\NormalWindow\src\normalwindow\PasswordDialog.java
    </listing>
    <listing foldername="cgwindow2">
    D:\src\java\cgwindow2\build.xml
    D:\src\java\cgwindow2\manifest.mf
    D:\src\java\cgwindow2\mfile.txt
    D:\src\java\cgwindow2\UserFile.txt
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyPanel.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$1.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$10.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$11.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$12.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$13.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$14.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$2.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$3.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$4.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$5.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$6.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$7.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$8.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$9.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow.class
    D:\src\java\cgwindow2\build\classes\addmoney\customBorderForAddMoneyWindow.class
    D:\src\java\cgwindow2\build\classes\addmoney\global.class
    D:\src\java\cgwindow2\dist\cgwindow2.jar
    D:\src\java\cgwindow2\dist\README.TXT
    D:\src\java\cgwindow2\dist\lib\swing-layout-1.0.jar
    D:\src\java\cgwindow2\nbproject\build-impl.xml
    D:\src\java\cgwindow2\nbproject\genfiles.properties
    D:\src\java\cgwindow2\nbproject\jax-ws.xml
    D:\src\java\cgwindow2\nbproject\project.properties
    D:\src\java\cgwindow2\nbproject\project.xml
    D:\src\java\cgwindow2\nbproject\private\private.properties
    D:\src\java\cgwindow2\nbproject\private\private.xml
    D:\src\java\cgwindow2\src\addmoney\addMoneyPanel.form
    D:\src\java\cgwindow2\src\addmoney\addMoneyPanel.java
    D:\src\java\cgwindow2\src\addmoney\addMoneyWindow.form
    D:\src\java\cgwindow2\src\addmoney\addMoneyWindow.java
    D:\src\java\cgwindow2\src\addmoney\customBorderForAddMoneyWindow.java
    D:\src\java\cgwindow2\src\addmoney\global.java
    </listing>
    About my thread subject, my clients machine is a debian sarge 3.0 and when I compiled it there with ANT It says, "normalwindow" package not found. other 2 errors were due to "normalwindow".
    Edited by: mokaddim on Sep 12, 2007 2:08 PM

    Julio.Faerman wrote:
    Hello,
    I am trying to run my annotation processor using ant.
    I already built the processor, the javax.annotation.processor.Processor file is in the correct place with the correct content.
    The jar with the processor is in the classpath (i can see it in ant -v), but it does not process my classes. in fact, i get the warning:
    warning: Annotation processing without compilation requested but no processors were found.Do i have to specify -processor or -processorpath or can i just leave it to the default classpath scanning?When -processor is not given, a service loader is used to find the annotation processors (if any). In addition to the class files of the process, to allow your processor to be found as a service, make sure you've also provided the needed META-INF data in the jar file. The general service file format is described in
    http://java.sun.com/javase/6/docs/api/java/util/ServiceLoader.html
    That said, I'd recommend setting an explicit processor path separate from your general classpath.

  • How to debug a custom doclet

    Hi,
    Can an incorrect taglet name cause javadoc generation to crash/ hang?
    We have a custon taglet with the name of @abc.comment
    However, someone added a period at the end of the name by mistake: @abc.comment.
    This caused the cruise control build to crash...
    Any clues on why this would have happened would be helpful. Also, how do you debug a custom doclet?
    Thanks in advance.
    BB

    Also, how do you debug a custom doclet?Well, the usual way: you use a debugger ;-)
    Since Javadoc features a programmatic interface, it's easy to write a simple main class.
    Here is my test entry class, just replace "your.doclet.name.here" with the actual name of your custom doclet.
    TestRun requires a filename as sole argument/cmd option, this filename should point to a standard Javadoc options file. To successfully use TestRun, the classes that make up your custom doclet and the JDK tools.jar should (probably) be in the classpath.
    * @(#) TestRun.java 1.00
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.StringTokenizer;
    * <code>TestRun</code>
    * @author Thomas Behr 27.11.2003
    public class TestRun
        public static void main( final String[] args )
            if ( args.length != 1 || !(new java.io.File( args[0] )).isFile() )
                System.err.println( "usage: java TestRun <filename>" );
                return;
            com.sun.tools.javadoc.Main.execute( "javadoc",
                                                "your.doclet.name.here",
                                                processOptionsFile( args[0] ) );
        private static String[] processOptionsFile( final String filename )
            final String options = readOptionsFile( filename );
            final StringTokenizer tokens = new StringTokenizer( options );
            final String[] jargs = new String[tokens.countTokens()];
            for ( int i = 0; i < jargs.length; ++i )
                jargs[i] = tokens.nextToken();
            return jargs;
        private static String readOptionsFile( final String filename )
            final StringBuffer buffer = new StringBuffer();
            BufferedReader br = null;
            try
                br = new BufferedReader( new FileReader( filename ) );
                String line;
                while ( (line = br.readLine()) != null )
                    buffer.append( line ).append( "\n" );
            catch ( final IOException ioe )
                ioe.printStackTrace();
                buffer.setLength( 0 );
            finally
                if ( br != null )
                    try
                        br.close();
                    catch ( IOException ioe )
                        ioe.printStackTrace();
            return buffer.toString();
    }

  • IntelliJ IDEA 7 vs JDeveloper 11g Pros and Cons

    Here is a thread we can discuss what we like or dislike as a comparision between IDEA 7 and JDeveloper.
    Surya De mentioned in the other thread that IDEA has exceptionally strong code editing and code analysis features. In my experience I don't find IDEA's code analysis any more useful than JDeveloper's. And it's details about the code editing that I like in JDeveloper and dislike in IDEA.
    Some of the details I find annoying in IDEA:
    Code Folding - IDEA seems to unfold when I don't want it to; IDEA requires a multi-step menu choice whereas in JDeveloper I just right click on the folding area and select the option I want.
    Java Doc generate - I prefer the way JDeveloper lets me generate the JavaDoc stub for a method.
    Light bulb - I'm not sure how to describe it but in IDEA a statement may be underlined and flagged as wrong or might have an option to change it or improve it, in JDeveloper there is a nice simple light bulb I can click on to access these choices, in IDEA that "light bulb" seems to be very elusive and I can't figure out how to get it to stay there so I can click on it (most of the time I end up just manually putting in the code rather than using JDeveloper's wonderful assistance).
    In what way is IDEA's Ctrl+N different from JDeveloper's Ctrl+-? They both work equivalently as far as I can see (JDeveloper is a little too aggressive in trying to guess what class you wanted)
    IDEA forces me to manually set the run target instead of intelligently trying to run the class I am working on. This could be a pro or a con, but I'm used to JDeveloper's style and thus I always catch myself running the wrong thing in IDEA.
    IDEA is slow compared to JDeveloper.
    IDEA is terrible for building a standard client application JAR file (JDeveloper does this very nicely with it's deploy profiles).
    IDEA lacks "status icons" for version control, I find the slight color change of file names to be inferior.
    IDEA's non-standard usage of the term "project" is confusing.
    IDEA lacks the nice little "X" close icon for closing a file you are editing.
    "History" comparison I find nicer in JDeveloper.
    In IDEA if I have folded code I have to hover over the code itself (making for a lot of mouse movement) to quickly view the folded code (without unfolding it), in JDeveloper I can just run my mouse up and down the left edge where the fold icons are.

    Code Folding - Simple you can set it up in the Settings -> Editor -> Appearance tab an select which ones to collapse by default. All you do is mouse over the folded area in the editor and it will show you without expanding, the contents inside it...until you click that then it will explode the folded area.
    Javadoc generation - Never tried it. But writing comments is easy and you dont need to know any syntax since it gives you suggestions. You will see them in yellow or red in the error stripe bar on the right just like Jdeveloper.
    Light bulb - Intellij has light bults also and its context sensitive. Sometimes if you write bad code it will highlight and make it show as yellow on the stripe bar on the right and if you click then you will see a light bult on the left with a suggestion to rewrite the code and it rewrites the code for you. You can set a profile as to what the editor should look for in terms of non-optimal coding. A quick example is if you have code like (Long[]) zoneIds.toArray(new Long[0]) Intellij would rewrite it as (Long[]) zoneIds.toArray(new Long[zoneIds.size()]) and give an explanation about how the previous would be using reflection and how this one would not. This is just a small example. There are literally 100s of settings for the code analysis tool.
    Speed - I dont see any difference. I am running Intellij on Mustang the latest build. And so is my JDeveloper at home.
    As for the other stuff you mentioned with the project and jar file etc I dont bother because we are using Ant. I can set up the ant build file into Intellij and just right click on the target I want. But most of all I like using command line better.
    IDEA does lack the little x close icon on the tab for the file you are editing but seriously hit Ctrl F4 or just middle click. Thats a bit ridiculous for mentioning that.
    Local History/ CVS History - I do like JDevelopers a bit better. But Intellij has more details. As in if you fired up debug mode and made some changes in your code it will mention that as an event in your local history and that makes it easier which JDeveloper doe not have.
    'In IDEA if I have folded code I have to hover over the code itself (making for a lot of mouse movement) to quickly view the folded code (without unfolding it), in JDeveloper I can just run my mouse up and down the left edge where the fold icons are. '
    Dont even know how to reply to that...I dont count mouse movement as one of my criteria...
    You can right click on a file in Intellij, hit Analyze code and it will show you a list of things in the code that can be cleaned up/fixed/etc based on profiles you select. They can be anything from performance fixes to too complex if statements. Pretty much as if you are doing code review. There are tons of options. And you can see all the items that Intellij is suggesting to fix, right click and just Apply Fix and they all get cleaned up in one shot. You can do this to your modules as well.
    DSM - Go to Intellij's website and look this one up. Really useful for analyzing your overall codebase and finding circular dependencies etc etc.
    Also the code completion in the editor in Intellij is a lot smarter. I can use Ctrl Space for the regular thing that JDeveloper does. But Ctrl SHift Space does smart code completion which I find extremely useful when writing stuff like say...uh...SomeObject obj = new SomeObject(). I can just type SomeObject obj = n and hit Ctrl Shift Space and it will write the rest of of it for me. Also if the constructor requires some parameters and you have those parameters initialized it smartly sticks those in there for me.
    Also when you are naming objects or variables with Ctrl Space it can put a Java Coding Convention compliant name for your object or variable so you dont have to think of one and its pretty cool. A lot of nifty little things in there.
    Lets see Alt Insert shorcut is awesome for constructor, getter/setter generation and a few others.
    Also Ctrl J is an awesome feature to have where there are code templates already in place and you can just have boiler plate code for iterating over array, writing for loops etc so you just select what you want and based on what variables are in place it will automatically write your loop structures, your try catch blocks etc for you.
    Also Ctrl H is another feature I like that shows in a window on the side the hierarchy of the class you are looking at.
    Theres lots of little gems in there that I cant thing of writing about right now.
    I still dont understand 'IDEA's non-standard usage of the term "project" is confusing.' If that is a complaint it seems you are reaching!
    Like I said. Intellij is superior in terms of usability with keyboard and its editor and code analysis. You dont need findbugs or PMD for that. Its better actually than them.
    But thats it. I think JDeveloper in terms of the wizards and all that I like that. Thats why I use JDeveloper when using SOA, or doing quick prototyping. And it works seamlessly if you have a full Oracle stack. But if you are using Apache or other web servers Intellij makes it easy since you jsut configure the server in your IDE and it does the rest.
    Also it comes with Hibernate, Spring, support and now Flex (Intellij 8) out of the box. Thats pretty cool. Very useful.

  • Error during generation of the WSDL:  BUILD FAILED java.lang.NoClassDefFoundError: com/sun/javadoc/Type

    When I create an EJB Transport Business Service, after selecting the jar that has the EJB 2.1 artefacts (Remote, Home, etc) the oepe plugin fails and can't continue.
    As I understand it seems that there is a problem with the classpath of ant build.xml  that oepe creates inside folder /tmp/alsbejbtransport/ to compile the bs and generate the wsdl. I checked if tools.jar is in the classpath (in eclipse) and is included, so I can't figure out wich is the problem.
    I found this in Oracle, but not helps solve the problem:
    BEA-398120
    Error: The WSDL for the typed transport endpoint could not be accessed.
    Description
    There was a problem retrieving the WSDL from the typed transport service endpoint at the time of service registration
    Action
    Contact technical support
    This is the the full stacktrace that shows eclipse.
    Generate : Error during generation of the WSDL:
    BUILD FAILED
    java.lang.NoClassDefFoundError: com/sun/javadoc/Type
            at com.bea.util.jam.provider.JamServiceFactoryImpl.createSourceBuilder(JamServiceFactoryImpl.java:205)
            at com.bea.util.jam.provider.JamServiceFactoryImpl.createBuilder(JamServiceFactoryImpl.java:158)
            at com.bea.util.jam.provider.JamServiceFactoryImpl.createClassLoader(JamServiceFactoryImpl.java:137)
            at com.bea.util.jam.provider.JamServiceFactoryImpl.createService(JamServiceFactoryImpl.java:78)
            at weblogic.wsee.util.JamUtil.parseSource(JamUtil.java:152)
            at weblogic.wsee.tools.anttasks.JwsLoader.loadJClasses(JwsLoader.java:186)
            at weblogic.wsee.tools.anttasks.JwsLoader.load(JwsLoader.java:75)
            at weblogic.wsee.tools.anttasks.JwsModule.loadWebServices(JwsModule.java:569)
            at weblogic.wsee.tools.anttasks.JwsModule.generate(JwsModule.java:369)
            at weblogic.wsee.tools.anttasks.JwsModule.build(JwsModule.java:256)
            at weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:184)
            at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
            at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:601)
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
            at org.apache.tools.ant.Task.perform(Task.java:348)
            at org.apache.tools.ant.Target.execute(Target.java:357)
            at org.apache.tools.ant.Target.performTasks(Target.java:385)
            at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
            at org.apache.tools.ant.Main.runBuild(Main.java:758)
            at org.apache.tools.ant.Main.startAnt(Main.java:217)
            at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
            at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    Caused by: java.lang.ClassNotFoundException: com.sun.javadoc.Type
            at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1400)
            at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1341)
            at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1088)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
            ... 27 more
    Total time: 0 seconds
    Eclipse Installation details:
    *** System properties:
    eclipse.application=org.eclipse.ui.ide.workbench
    eclipse.buildId=M20110909-1335
    eclipse.commands=-os
    linux
    -ws
    gtk
    -arch
    x86_64
    -showsplash
    -launcher
    {home}/Development/oepe-indigo/eclipse
    -name
    Eclipse
    --launcher.library
    {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505/eclipse_1407.so
    -startup
    {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    --launcher.overrideVmargs
    -exitdata
    1e418010
    -vm
    /usr/bin/java
    eclipse.home.location=file:{home}/Development/oepe-indigo/
    eclipse.launcher={home}/Development/oepe-indigo/eclipse
    eclipse.launcher.name=Eclipse
    [email protected]/../p2/
    eclipse.p2.profile=PlatformProfile
    eclipse.product=org.eclipse.platform.ide
    eclipse.startTime=1374623921455
    eclipse.vm=/usr/bin/java
    eclipse.vmargs=-Xms256m
    -Xmx768m
    -XX:MaxPermSize=512m
    -Dsun.lang.ClassLoader.allowArraySyntax=true
    -Dweblogic.home={home}/Oracle/Middleware/wlserver_10.3
    -Dharvester.home={home}/Oracle/Middleware/Oracle_OSB1/harvester
    -Dosb.home={home}/Oracle/Middleware/Oracle_OSB1
    -Dosgi.bundlefile.limit=750
    -Dosgi.nl=en_US
    -Dmiddleware.home={home}/Oracle/Middleware
    -jar
    {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    equinox.use.ds=true
    file.encoding=UTF-8
    file.encoding.pkg=sun.io
    file.separator=/
    guice.disable.misplaced.annotation.check=true
    harvester.home={home}/Oracle/Middleware/Oracle_OSB1/harvester
    http.nonProxyHosts=localhost
    java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
    java.awt.printerjob=sun.print.PSPrinterJob
    java.class.path={home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    java.class.version=50.0
    java.endorsed.dirs=/usr/lib/jvm/jdk1.6.0_45/jre/lib/endorsed
    java.ext.dirs=/usr/lib/jvm/jdk1.6.0_45/jre/lib/ext:/usr/java/packages/lib/ext
    java.home=/usr/lib/jvm/jdk1.6.0_45/jre
    java.io.tmpdir=/tmp
    java.library.path=/usr/lib/jvm/jdk1.6.0_45/jre/lib/amd64/server:/usr/lib/jvm/jdk1.6.0_45/jre/lib/amd64:/usr/lib/jvm/jdk1.6.0_45/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    java.protocol.handler.pkgs=null|com.bea.wli.sb.resources.url|com.bea.wli.sb.resources.jca.upgrade.url|weblogic.utils|weblogic.utils|weblogic.utils|weblogic.net|weblogic.net
    java.runtime.name=Java(TM) SE Runtime Environment
    java.runtime.version=1.6.0_45-b06
    java.specification.name=Java Platform API Specification
    java.specification.vendor=Sun Microsystems Inc.
    java.specification.version=1.6
    java.vendor=Sun Microsystems Inc.
    java.vendor.url=http://java.sun.com/
    java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
    java.version=1.6.0_45
    java.vm.info=mixed mode
    java.vm.name=Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name=Java Virtual Machine Specification
    java.vm.specification.vendor=Sun Microsystems Inc.
    java.vm.specification.version=1.0
    java.vm.vendor=Sun Microsystems Inc.
    java.vm.version=20.45-b01
    javax.rmi.CORBA.PortableRemoteObjectClass=weblogic.iiop.PortableRemoteObjectDelegateImpl
    javax.rmi.CORBA.UtilClass=weblogic.iiop.UtilDelegateImpl
    jna.platform.library.path=/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/lib
    line.separator=
    middleware.home={home}/Oracle/Middleware
    oracle.eclipse.tools.weblogic.ui.isWebLogicServer=true
    org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
    org.eclipse.equinox.launcher.splash.location={home}/Development/oepe-indigo/plugins/org.eclipse.platform_3.7.1.v201109091335/splash.bmp
    org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info
    org.eclipse.m2e.log.dir={home}/workspace/pragma/.metadata/.plugins/org.eclipse.m2e.logback.configuration
    org.eclipse.update.reconcile=false
    org.omg.CORBA.ORBClass=weblogic.corba.orb.ORB
    org.omg.CORBA.ORBSingletonClass=weblogic.corba.orb.ORB
    org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6
    org.osgi.framework.language=en
    org.osgi.framework.os.name=Linux
    org.osgi.framework.os.version=3.8.0
    org.osgi.framework.processor=x86-64
    org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6"
    org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
    org.osgi.framework.uuid=901615cd-f3f3-0012-11b6-a3bca4d97ac1
    org.osgi.framework.vendor=Eclipse
    org.osgi.framework.version=1.6.0
    org.osgi.supports.framework.extension=true
    org.osgi.supports.framework.fragment=true
    org.osgi.supports.framework.requirebundle=true
    os.arch=amd64
    os.name=Linux
    os.version=3.8.0-26-generic
    osb.home={home}/Oracle/Middleware/Oracle_OSB1
    osgi.arch=x86_64
    osgi.bundlefile.limit=750
    osgi.bundles=reference:file:javax.transaction_1.1.1.v201105210645.jar,reference:file:org.eclipse.equinox.simpleconfigurator_1.0.200.v20110502-1955.jar@1:start
    osgi.bundles.defaultStartLevel=4
    osgi.bundlestore={home}/Development/oepe-indigo/configuration/org.eclipse.osgi/bundles
    osgi.configuration.area=file:{home}/Development/oepe-indigo/configuration/
    osgi.framework=file:{home}/Development/oepe-indigo/plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar
    osgi.framework.extensions=reference:file:javax.transaction_1.1.1.v201105210645.jar
    osgi.framework.shape=jar
    osgi.framework.version=3.7.1.R37x_v20110808-1106
    osgi.frameworkClassPath=., file:{home}/Development/oepe-indigo/plugins/javax.transaction_1.1.1.v201105210645.jar
    osgi.install.area=file:{home}/Development/oepe-indigo/
    osgi.instance.area=file:{home}/workspace/pragma/
    osgi.instance.area.default=file:{home}/workspace/
    osgi.logfile={home}/workspace/pragma/.metadata/.log
    osgi.manifest.cache={home}/Development/oepe-indigo/configuration/org.eclipse.osgi/manifests
    osgi.nl=en_US
    osgi.nl.user=en_US
    osgi.os=linux
    osgi.splashLocation={home}/Development/oepe-indigo/plugins/org.eclipse.platform_3.7.1.v201109091335/splash.bmp
    osgi.splashPath=platform:/base/plugins/org.eclipse.platform
    osgi.syspath={home}/Development/oepe-indigo/plugins
    osgi.tracefile={home}/workspace/pragma/.metadata/trace.log
    osgi.ws=gtk
    path.separator=:
    securerandom.source=file:/dev/./urandom
    socksNonProxyHost=localhost
    sun.arch.data.model=64
    sun.boot.class.path=/usr/lib/jvm/jdk1.6.0_45/jre/lib/resources.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/rt.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/sunrsasign.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/jsse.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/jce.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/charsets.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/jdk1.6.0_45/jre/classes
    sun.boot.library.path=/usr/lib/jvm/jdk1.6.0_45/jre/lib/amd64
    sun.cpu.endian=little
    sun.cpu.isalist=
    sun.desktop=gnome
    sun.io.unicode.encoding=UnicodeLittle
    sun.java.command={home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher {home}/Development/oepe-indigo/eclipse -name Eclipse --launcher.library {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505/eclipse_1407.so -startup {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.overrideVmargs -exitdata 1e418010 -vm /usr/bin/java -vmargs -Xms256m -Xmx768m -XX:MaxPermSize=512m -Dsun.lang.ClassLoader.allowArraySyntax=true -Dweblogic.home={home}/Oracle/Middleware/wlserver_10.3 -Dharvester.home={home}/Oracle/Middleware/Oracle_OSB1/harvester -Dosb.home={home}/Oracle/Middleware/Oracle_OSB1 -Dosgi.bundlefile.limit=750 -Dosgi.nl=en_US -Dmiddleware.home={home}/Oracle/Middleware -jar {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    sun.java.launcher=SUN_STANDARD
    sun.jnu.encoding=UTF-8
    sun.lang.ClassLoader.allowArraySyntax=true
    sun.management.compiler=HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level=unknown
    svnkit.http.methods=Basic
    svnkit.library.gnome-keyring.enabled=false
    user.country=AR
    user.dir={home}/Development/oepe-indigo
    user.home={home}
    user.language=es
    user.name={username}
    user.timezone=America/Argentina/Buenos_Aires
    weblogic.home={home}/Oracle/Middleware/wlserver_10.3
    Thanks!!

    run this one in command prompt and then convert the applet using converter tool
    JC_HOME = C:\java_card_kit-2_2_2\bin\
    set CLASSES=%JCHOME%\lib\apduio.jar;%JC_HOME%\lib\apdutool.jar;%JC_HOME%\lib\jcwde.jar;%JC_HOME%\lib\converter.jar;%JC_HOME%\lib\scriptgen.jar;%JC_HOME%\lib\offcardverifier.jar;%JC_HOME%\lib\api.jar;%JC_HOME%\lib\installer.jar;%JC_HOME%\lib\capdump.jar;
    D:\NareshPalle\jcardRE\Smart\src>java -classpath %_CLASSES% com.sun.javacard.con
    verter.Converter -out EXP JCA CAP -exportpath .\exp -applet 0x0a:0x00:0x00:0x00:0x0e:0x01:0x02:
    0x03:0x04:0x05:0x06 PackageName appletName 0x01:0x02:0x03:0x04:0x05:0x0
    6:0x07:0x08 1.0
    or
    go to following directory and run the converter tool in command prompt
    step 1: cd C:\java_card_kit-2_2_2\bin\
    then run this command under the above directory
    step 2:converter -classdir E:\Pathof Your applet class file -out EXP JCA CAP -exportpath E:\path of exp files folder -applet AID PackageName AppletName PackAID major.minor no
    For more doubts mail me....
    *[removed by moderator]*
    Thanks and Regards
    NareshPalle
    Edited by: EJP on 31/03/2012 20:09: removed your email address. Unless you like spam and unless you think these forums are provided for your personal benefit only, posting an email address here serves no useful purpose whatsoever.

  • ABAP Documentation Generation, Javadoc-like

    Hello everyone,
    I've got one topic to discuss that I do not find very much information about on SCN. It's about documentation. and I don't mean SAP documentation like help.sap.com, but the documentation about the software we (=developers) are producing by writing ABAP-code. That thing that we tend to neglect.
    So is there any tool that is similar to [Javadoc|http://en.wikipedia.org/wiki/Javadoc], something like a ABAP Documentation Generator? A tool that generates a code-based documentation out of the source-code comments? As far as I know, there is no such functionality in the ABAP workbench. The only community project I found was ABAP Docs, but that seems to be inactive and is not even accessibly online.
    How do you document your software? Do you use external tools, anything that is integrated into the SAP system? Or is it a completely segregated solution like we use in my company (Word)? What strategies do you use to create Architecture Documentation, Technical Documentation and End User Documentation?
    It seems to me that there are lots of software solutions that can create modern documentation including different formats, layout templates, guidelines etc. But I haven't found anything related to ABAP development. Maybe the best example is Wikipedias [Comparison of documentation generators|http://en.wikipedia.org/wiki/Comparison_of_documentation_generators]. Just search for ABAP.
    I am looking forward to read about your experiences in documenting ABAP software!

    Surprisingly (more or less) the list has no entry for a tool that supports ABAP, that was my point.
    In the [Language support|http://en.wikipedia.org/wiki/Comparison_of_documentation_generators#Language_support] table there is an Any With Comments column. Looking at the examples for [Natural Docs|http://en.wikipedia.org/wiki/Natural_Docs] and [ROBODoc|http://en.wikipedia.org/wiki/ROBODoc], they might work for ABAP too. YMMV
    Hope this helps,
    Rossen

  • Javadoc code generation?

    I have a javadoc which I wish to translate into code stubs.
    For example, if I have some javadoc like:
    "private void func(E p1, E p2)
    Does Stuff
    Parameters:
    p1 - blah...
    p2 - blah..."
    it will generate some code like:
    * Does Stuff
    * @param p1 - blah...
    * @param p2 - blah...
    private void Func(E p1, E p2){
    I just need code stubs, obviously it can't generate any real code.

    I was looking for a utility to do this awhile back but couldn't seem to find one. I had a feeling there's nothing out there and was wondering if this would be an interesting problem for someone to work on. Please let me know if you manage to find something! I'll start up my search again as well.

  • DocFlex/Javadoc 1.5.6, a multi-format doclet development tool and more

    DocFlex/Javadoc is both a multi-format Javadoc Doclet and a rapid doclet development tool, which allows easy creation of professional quality Java API documentation generated by Javadoc in various output formats.
    More in this article:
    Key Features
    Availability
    This Version
    What is DocFlex?
    Main Concepts
    Other Applications
    Links
    KEY FEATURES
    Template-driven doclet architecture
    - Actual doclets are created in the form of special templates interpreted by the DocFlex Doclet, which is the template interpreter / output generator wrapped in the form of a Javadoc Doclet.
    - The high quality graphic Template Designer allows you to visually design most of things, whose development was possible so far only by direct Java coding.
    - The templates are designed independently on a particular output format. All formatting is specified in some universal way using properties of template components. During the generation, it is rendered with the suitable features available in the selected output format.
    - The elaborated support of template parameters (including multivalued list parameters). The parameters are defined and accessed within templates to adjust dynamic properties of template components. Most of options previously used to control an ordinary doclet now simply become template parameters!
    - The possibility to call templates from one another. This feature (along with the template parameters) makes possible re-using the same templates for different tasks as well as organizing template libraries.
    Data processing
    - The entire Doclet API is represented in the form of a virtual XML document (called Doclet DSM), on which the designing and processing of all templates is based.
    - Sophisticated capabilities for data querying and sorting based on an extension of XPath.
    - Full support of new Java 5.0 language features: Generic Types, Enums, Annotations.
    - Simultaneous support of Java 1.4 and Java 5.
    Creating hyperlinks
    - Generation of an extensive network of hyperlinks interconnecting the whole documentation.
    - The hyperlinks can be generated in all output formats that support them (this currently includes HTML and RTF).
    - The universal way of defining documentation cross-links based on the link/target keys specified in templates.
    - In RTF, the cross-links can be generated in the form of page number references, which effectively makes them usable even in the printed documentation.
    - In HTML, the possibility of loading several frame windows from a single hyperlink at once.
    Universal support of various formatting techniques
    - text formatting: fonts, colors, borders
    - paragraph formatting: margins, pagination control, borders, colors
    - border formatting: styles (solid, double, dashed, dotted), thickness, colors
    - tables: arbitrary cell layouts, borders, nested tables
    - lists: bulleted, numbered, delimited
    - document fields (RTF): page number, number of pages, TOC, etc.
    - page formatting: size, orientation, margins, headers/footers
    - formatting styles
    - rendering of embedded HTML, which means interpreting in non-HTML output formats (such as RTF) the HTML tags embedded in text data (e.g. documentation comments). Almost all HTML tags practically usable in doc-comments are supported.
    Inserting images
    - statically specified in templates
    - dynamically, obtained by <img> tags found in Java comments
    - supported image formats: GIF, PNG, JPG, WMF, EMF, BMP
    Output formats
    - HTML (both framed multi-file and single-file output)
    - RTF (version 1.6 - supported since Word 2000).
    - TXT (plain text), which may be particularly useful for various utilizations of the Java code information provided by the Doclet API generate XML files by it, or SQL files to import into a database).
    Standard Template Set
    - The ready-to-use Standard Template Set included in all editions of DocFlex/Javadoc allows you to immediately generate:
    (*) The framed HTML Java API documentation similar to that generated by the standard Javadoc.
    (*) The same documentation packed in a single HTML file.
    (*) The unmatched quality RTF JavaDoc.
    - Special features supported by standard templates:
    (*) Excluding classes/methods/fields by custom tags and annotations.
    (*) Selective omitting of package qualifiers.
    (*) Selective documenting of custom tags (similar to -tag option of Standard Doclet).
    - By modifying the standard templates, you can quickly customize the generated documentation according to your needs.
    Doclet GUI
    - Besides command line options, DocFlex Doclet supports an alternative user-friendly way to control the template-based doclets interactively -- the high quality Doclet GUI.
    - The Doclet GUI starts with the Generator Dialog, where you can specify all general settings (such as the main template, the output format and the output directory), start the generation, track its progress and stop at any moment you need.
    - The grid-tree-based Parameter Inspector invoked from the Generator Dialog for a selected template allows you to view the descriptions of all template parameters controlling the doclet and set their values according to the parameter data types.
    - The generator options specific for the selected output format can be set in the corresponding Format Option Inspector (also invoked from the Generator Dialog).
    - Once the generation is finished (or cancelled), you can start it again with different settings or a new main template without restarting the whole Javadoc.
    Integrations
    - With any system that runs Javadoc (in particular, see below)
    - Apache Ant
    - Apache Maven 2
    - Eclipse
    For lots more information, see DocFlex/Javadoc homepage: [http://www.filigris.com/products/docflex_javadoc/]
    AVAILABILITY
    DocFlex/Javadoc comes in two editions:
    (1) The full edition called "DocFlex/Javadoc" as it is. This is commercial software, which includes all the implemented functionality.
    (2) The reduced freeware edition called "DocFlex/Doclet". It includes only the output generator and can be used as an interpretor of any custom templates. It also includes the standard template set, which allows you to instantly use it as an HTML doclet (similar to the standard one, however with some special features) plus an excellent quality RTF doclet.
    Both editions are available for downloads on the page: [http://www.filigris.com/downloads/]
    THIS VERSION
    New features:
    - The template interpretor works 15-20% faster
    - Improvement of RTF output
    - Multi-valued (list) template parameters
    - Custom elements
    - Standard Templates: Selective documenting of custom tags (similar to -tag option of standard doclet)
    For more details, see product Readme | Change Log on the downloads page: [http://www.filigris.com/downloads/]
    WHAT IS DOCFLEX?
    DocFlex is an innovative technology for development of high quality template-driven documentation/report generators by any kind of data obtained from various software applications via the Java APIs they provide.
    MAIN CONCEPTS
    The whole DocFlex technology is based on four generalizations:
    (1) The mapping of an entire Java API onto a virtual XML-like representation made of some elements and attributes so as to process any such a representation in a universal way using techniques borrowed from the field of XML, like XPath (or more precisely, a conceptual analogue of XPath with some extensions not present in it).
    (2) The abstract formatting concept based on four layouts (flow of text, flow of paragraphs or paragraph-like objects, tables and lists), which can be rendered in most modern document formats (e.g. HTML, RTF, XSL-FO etc.)
    (3) The automatic generation of hyperlinks (or their page number reference equivalents) by matching the sets of keys produced from certain natural properties of the things (entities) being documented and hyper-linked.
    (4) The representation of the object controlling structure of the output generator (made on the first three principles) in the form of a plain-text template with a possibility to create and edit such templates using a graphic Template Designer, which visualizes the controlling objects (now becoming template components) in a form resembling the output they will produce.
    OTHER APPLICATIONS
    In fact, DocFlex/Javadoc is not the only application of DocFlex technology. The following is a summary of other DocFlex software:
    DocFlex/XML
    The SDK and runtime environment for rapid development and execution of template-driven automatic documentation/report generators by any data obtained from XML files.
    This is currently the most complex and advanced application of DocFlex technology. Actually, this tool can be considered a powerful alternative to XSLT. At least, it is definitely able to do what XSLT apparently not (for example, see “XSDDoc” below). We will publish a more detailed comparison “DocFlex/XML versus XSLT” with the next DocFlex/XML release, which is coming very soon.
    DocFlex/XML home page: [http://www.filigris.com/products/docflex_xml/]
    DocFlex/XML | XSDDoc
    A template set for DocFlex/XML that implements a high quality W3C XML Schema documentation generator in HTML and RTF output formats.
    For more details, please see: [http://www.filigris.com/products/docflex_xml/xsddoc/]
    DocFlex/XML | WSDLDoc
    A similar template set for DocFlex/XML that will implement a high-end WSDL documentation generator.
    This product is not released yet.
    DocFlex/Together
    A template-driven documentation generator for [Borland Together|http://www.borland.com/us/products/together/] (which is a UML modeling tool).
    This is the earliest application of DocFlex technology and probably the most beautiful one. It works only with Together Architect 1.x, which is now obsolete. Unfortunately, since Together 2005, Borland eliminated any open APIs (for unknown reasons). Because of this, further development of DocFlex/Together was impossible.
    DocFlex/Together home page: [http://www.filigris.com/products/docflex_together/]
    See also examples of the UML documentation generated with it: [http://www.filigris.com/products/docflex_together/examples/]
    The future DocFlex/UML is going to generate something like this as well.
    DocFlex/UML
    A template-driven UML documentation generator based on [Eclipse EMF|http://www.eclipse.org/emf/]. This tool is in early development stage yet. In a sense, it will continue DocFlex/Together with the focus on integration with other UML tools that use Eclipse EMF.
    LINKS
    This original article can be found at:
    [http://www.filigris.com/ann/docflex_javadoc_v1.5.6/]
    DocFlex/Javadoc home page:
    [http://www.filigris.com/products/docflex_javadoc/]
    DocFlex/XML home page:
    [http://www.filigris.com/products/docflex_xml/]
    DocFlex/XML | XSDDoc, the XML schema documentation generator:
    [http://www.filigris.com/products/docflex_xml/xsddoc/]
    Free downloads:
    [http://www.filigris.com/downloads/]

    Now, DocFlex/Javadoc v1.4 has been released specifically dedicated to Linux (Mac OS X) support:
    (*) Some early bugs have been fixed, which prevented it working properly under Linux.
    (*) A special RTF option was introduced to generate OpenOffice.org friendly RTF (see below)
    (*) Improved support for external document viewers.
    (*) Now, DocFlex/Javadoc software includes the shell script files prepared to quickly install and launch it under Linux
    New RTF option
    A new RTF output option "Tune output for MS Word� has been introduced. This option, actually, allows switching off that very tuning (which until now was the default mode) to produce an RTF friendly to open with other non MS Word applications, e.g. OpenOffice.org Writer under Linux.
    Read full announcement (and screenshot) by this link:
    http://www.filigris.com/ann/docflex_javadoc_v1.4/
    Regards,
    Leonid Rudy
    http://www.docflex.com

Maybe you are looking for

  • Office 2013 Home & Business Edition - None of the application (Word, Powerpoint, Excel or Outlook) is opening, not even in safe mode..

    Office 2013 Home & Business Edition - None of the application (Word, Powerpoint, Excel or Outlook) is opening, not even in safe mode.. I tried to run the application in compatibility mode by right clicking the excel.exe and choosing the compatibility

  • Problem In R/3 Installation : Dispatcher not coming up

    Hi,      I'm trying to install SAP R/3 Enterprise ABAP on Windows:Oracle. While creating the Database Instance I chose a Database Schema Name. Further, while creating a Dialog Instance the Database schema name what I gave doesn't match with the previ

  • How do I create a brand new .pat file?

    I am attempting to create a set of patterns to share online, and I cannot figure out how to create a truly custom .pat file. I fully understand how to define a pattern in photoshop, however, the only way I've ever known about accessing and permanentl

  • Videos not showing up in Responsive slider on Mac

    <blockquote>Locking duplicate thread.<br> Please continue here: [[/questions/927393]]</blockquote> Hello. We have an issue with videos on one of our templates. Videos are just black squares and you can listen only sound. It only happens on Mac (it's

  • Multiple calendar entry replicates

    Whenever I try to use iCloud, many of my calendar entries, especially older ones, are replicated, and may be replicated multiple times. For instance, one repeated calendar entry is replicated about 20-25 times on each and every every day. Interesting