Avatar billede dn666 Nybegynder
04. juli 2003 - 15:27 Der er 3 kommentarer og
1 løsning

xdoclet læser ikke mine tags

Hallooo.


Når jeg kører følgenede ant task med xdoclet er alle klasser og filer er tomme. det eneste jeg kan se der bliver genereret er min datasource i jbosscmp-jdbc.xml..


hvad er det der går galt her ??????


Jeg har lavet følgende EJB Bean:

/**
* @ejb.bean
*      name="Status_ids"
*      type="CMP"
*      view-type="local"
*      local-jndi-name="local/Status_ids"
*      primkey-field="status_id"
*      schema="Status_ids"
*      cmp-version="2.0"
* @ejb.value-object
*      name="Status_ids"
*      match="*"
* @ejb.transaction
*      type="Required"
* @ejb.util
*      generate="physical"
* @ejb.persistence
*      table-name="status_ids"
* @jboss.persistence
*      create-table="false"
*      remove-table="false"
*/
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;

public abstract class Status_idsBean implements EntityBean  {
    private EntityContext context;

    public String ejbCreate(String status_id, String descrip) throws CreateException {
        setStatus_id(status_id);
        setDescrip(descrip);
        return status_id;
    }

    public void ejbPostCreate(String status_id, String descrip) {
    }

    public void ejbActivate() {
    }

    public void ejbLoad() {
    }

    public void ejbPassivate() {
    }

    public void ejbRemove() {
    }

    public void ejbStore() {
    }

    public void setEntityContext(EntityContext ctx) {
        this.context = ctx;
    }

    public void unsetEntityContext() {
        this.context = null;
    }
    public abstract String getStatus_id();

    public abstract void setStatus_id(String newStatus_id);

    public abstract String getDescrip();

    public abstract void setDescrip(String newDescrip);
}


og min build.xml fil ser således ud:

<project name="Status_ids"  default="compile" basedir=".">

    <property file="build.properties"/>

    <path id="project.class.path">
        <fileset dir="${lib.dir}">
            <include name="*.jar"/>
        </fileset>
    </path>

    <target name="prepare">
        <mkdir dir="${build.dir}/ejb/META-INF"/>
        <mkdir dir="${generated.java.dir}"/>
    </target>

    <target name="ejbdoclet" depends="prepare">
        <taskdef
            name="ejbdoclet"
            classname="xdoclet.ejb.EjbDocletTask"
            classpathref="project.class.path"
        />
        <tstamp>
            <format property="TODAY" pattern="d-MM-yy"/>
        </tstamp>
        <ejbdoclet
            destdir="${generated.java.dir}"
            excludedtags="@version,@author"
            ejbspec="2.0"
            sourcepath="${java.dir}"
            classpathref="project.class.path"
        >
            <fileset dir="${java.dir}">
                <include name="**/*Bean.java"/>
            </fileset>

            <localinterface/>
            <homeinterface />
            <localhomeinterface/>
            <deploymentdescriptor destdir="${build.dir}/ejb/META-INF"/>

            <jboss version="3.0"
                datasource="java:/SapdbDS"
                typemapping="SapDB"
                destdir="${build.dir}/ejb/META-INF"
            />
        </ejbdoclet>
    </target>
    <target name="compile" depends="ejbdoclet">
      <!-- Compile EJBs -->
      <javac
          srcdir="${java.dir}:${generated.java.dir}"
          destdir="${build.dir}/ejb"
          includes="test/ejb/*.java, test/interfaces/*.java"
      />
    </target>
</project>


og build.properties:

lib.dir=/home/dn/Javaprojects/libs
java.dir=/home/dn/Javaprojects/IntelliJProjects/tests/XDocletTest/src
build.dir=/home/dn/Javaprojects/IntelliJProjects/tests/XDocletTest/build
generated.java.dir=/home/dn/Javaprojects/IntelliJProjects/tests/XDocletTest/generated




ant kører fint.

og jeg får genereret 3 klasser:


/*
* Generated file - Do not edit!
*/
package ;

import java.lang.*;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;

/**
* Data object for Status_ids.
* @xdoclet-generated at Jul 4, 2003 2:16:36 PM
*/
public class Status_idsData
  extends java.lang.Object
  implements java.io.Serializable
{
  static final long serialVersionUID = -8267468730713395283L;

  public Status_idsData()
  {
  }

  public Status_idsData( Status_idsData otherData )
  {

  }

  public String toString()
  {
      StringBuffer str = new StringBuffer("{");

      str.append('}');

      return(str.toString());
  }

  public boolean equals( Object pOther )
  {
      if( pOther instanceof Status_idsData )
      {
        Status_idsData lTest = (Status_idsData) pOther;
        boolean lEquals = true;

        return lEquals;
      }
      else
      {
        return false;
      }
  }

  public int hashCode()
  {
      int result = 17;
      return result;
      }

}




/*
* Generated file - Do not edit!
*/
package ;

import java.lang.*;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;

/**
* Home interface for Status_ids. Lookup using {1}
* @xdoclet-generated at Jul 4, 2003 3:14:33 PM
*/
public interface Status_idsHome
  extends javax.ejb.EJBHome
{

}



/*
* Generated file - Do not edit!
*/
package ;

import java.lang.*;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;

/**
* Remote interface for Status_ids.
* @xdoclet-generated at Jul 4, 2003 2:16:36 PM
*/
public interface Status_idsRemote
  extends javax.ejb.EJBObject
{

}




og 4 deployment descriptors:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar >

  <description>No Description.</description>
  <display-name>Generated by XDoclet</display-name>

  <enterprise-beans>

      <!-- Session Beans -->

    <!--
      To add session beans that you have deployment descriptor info for, add
      a file to your merge directory called session-beans.xml that contains
      the <session></session> markup for those beans.
    -->

      <!-- Entity Beans -->

    <!--
      To add entity beans that you have deployment descriptor info for, add
      a file to your merge directory called entity-beans.xml that contains
      the <entity></entity> markup for those beans.
    -->

      <!-- Message Driven Beans -->
    <!--
      To add message driven beans that you have deployment descriptor info for, add
      a file to your merge directory called message-driven-beans.xml that contains
      the <message-driven></message-driven> markup for those beans.
    -->

  </enterprise-beans>

  <!-- Relationships -->

  <!-- Assembly Descriptor -->
  <assembly-descriptor >

  <!-- transactions -->

  <!-- finder transactions -->
  </assembly-descriptor>

</ejb-jar>



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jaws PUBLIC "-//JBoss//DTD JAWS 3.0//EN" "http://www.jboss.org/j2ee/dtd/jaws_3_0.dtd">

<jaws>
  <datasource>java:/SapdbDS</datasource>
  <type-mapping>SapDB</type-mapping>

  <enterprise-beans>

  </enterprise-beans>

</jaws>


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd">

<jbosscmp-jdbc>
  <defaults>
    <datasource>java:/SapdbDS</datasource>
    <datasource-mapping>SapDB</datasource-mapping>
  </defaults>

  <enterprise-beans>

  </enterprise-beans>

<dependent-value-classes>

</dependent-value-classes>

</jbosscmp-jdbc>



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd">

<jboss>

  <enterprise-beans>

  </enterprise-beans>

  <resource-managers>
  </resource-managers>

</jboss>
Avatar billede dn666 Nybegynder
04. juli 2003 - 15:29 #1
jeg har lagt xdoclet.jar, log4j.jar, commons-logging.jar, og ant.jar i libs som build.properties læser fra
Avatar billede arne_v Ekspert
05. juli 2003 - 00:03 #2
Jeg tror det virker, hvis du laver 2 ændringer:

1)  Flytter import op over javadoc.

2)  Erstatter cmp-version="2.0" med cmp-version="2.x"
Avatar billede arne_v Ekspert
05. juli 2003 - 00:08 #3
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;

/**
* @ejb.bean
*      name="Status_ids"
*      type="CMP"
*      view-type="local"
*      local-jndi-name="local/Status_ids"
*      primkey-field="status_id"
*      schema="Status_ids"
*      cmp-version="2.x"
* @ejb.value-object
*      name="Status_ids"
*      match="*"
* @ejb.transaction
*      type="Required"
* @ejb.util
*      generate="physical"
* @ejb.persistence
*      table-name="status_ids"
* @jboss.persistence
*      create-table="false"
*      remove-table="false"
*/

public abstract class Status_idsBean implements EntityBean  {
    private EntityContext context;

    public String ejbCreate(String status_id, String descrip) throws CreateException {
        setStatus_id(status_id);
        setDescrip(descrip);
        return status_id;
    }

    public void ejbPostCreate(String status_id, String descrip) {
    }

    public void ejbActivate() {
    }

    public void ejbLoad() {
    }

    public void ejbPassivate() {
    }

    public void ejbRemove() {
    }

    public void ejbStore() {
    }

    public void setEntityContext(EntityContext ctx) {
        this.context = ctx;
    }

    public void unsetEntityContext() {
        this.context = null;
    }
    public abstract String getStatus_id();

    public abstract void setStatus_id(String newStatus_id);

    public abstract String getDescrip();

    public abstract void setDescrip(String newDescrip);
}
Avatar billede dn666 Nybegynder
07. juli 2003 - 13:40 #4
Ohhh.. takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester