You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by sh...@spymac.com on 2004/06/25 04:38:03 UTC

How to get xdoclet generating necessary files thru maven?

I make use of the example in wiki
(http://wiki.codehaus.org/maven/CreatingJ2eeApplications) to create my j2ee project; 
yet encounter a probelm when integrate xdoclet with maven. 
After following up the instruction in maven plug-in page
(http://xdoclet.sourceforge.net/xdoclet/maven-plugin.html),
I setup maven.xml and project.properties along with project.xml. It looks as
follow. However, it seems no use to get xdoclet generating 
necessary files (such as remote, home interface). Additionaly, I also defined
necessary depandencies in the root project.xml. Where did I do it wrong?  
BTW, there no error report ,when compiling, for the ejb source I use was
successful compiled and run smoothly only through xdoclet.
I appreciate any suggestions.
Sincerely,
Arsene



==========maven.xml==========BEG
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:maven="jelly:maven" xmlns:j="jelly:core">
	<preGoal name="java:compile">
		<attainGoal name="xdoclet:ejbdoclet"/>
	</preGoal>
	<!-- Generate required Xdoclet EjbDoclet resources for this project. -->
	<goal name="xdoclet:ejbdoclet">
		<echo message="destDir -> ${maven.xdoclet.ejbdoclet.destDir}"/>
		<echo message="srcDir -> ${maven.xdoclet.ejbdoclet.srcDir}"/>
		<mkdir dir="${maven.xdoclet.ejbdoclet.destDir}"/>
		<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" 
			classpathref="maven.dependency.classpath"/>
		<ejbdoclet destdir="${maven.xdoclet.ejbdoclet.destDir}" 
			excludedtags="@version,@author,@todo" 
			ejbspec="2.0" >
			<fileset dir="${maven.xdoclet.ejbdoclet.srcDir}">
			    <include name="**/*Bean.java"/>
			</fileset>
			
			<session/>
			<remoteinterface/>
			<homeinterface/>

			<deploymentdescriptor
				destdir="${maven.xdoclet.ejbdoclet.destDir}/META-INF"
			/>
	
			<jboss
			    version="3.0"
			    destdir="${maven.xdoclet.ejbdoclet.destDir}/META-INF"
			/>
		</ejbdoclet>
		<echo>delete unneeded objects</echo>
		<delete>
			<fileset dir="${maven.xdoclet.ejbdoclet.destDir}">
				<include name="**/data/*.java"/>
				<include name="**/interfaces/*.java"/>
			</fileset>
		</delete>
		<path id="ejbdoclet.java.compile.src.set"
location="${maven.xdoclet.ejbdoclet.destDir}"/>
		<maven:addPath id="maven.compile.src.set" refid="ejbdoclet.java.compile.src.set"/>
	</goal>
</project>
==========maven.xml==========END
==========project.proerties==========BEG
maven.multiproject.type=ejb
 
#define xdoclet properties  
maven.xdoclet.force=false
maven.xdoclet.ejbdoclet.srcDir=${basedir}/src/java
maven.xdoclet.ejbdoclet.destDir=${basedir}/target/xdoclet/ejbdoclet


maven.ejb.src=${maven.xdoclet.ejbdoclet.srcDir}

# plugin.properties
#ejbdoclet default properties
maven.xdoclet.ejbdoclet.destDir=${maven.build.dir}/xdoclet/ejbdoclet

maven.xdoclet.ejbdoclet.fileset.0=true
maven.xdoclet.ejbdoclet.fileset.0.include=**/*Bean.java

maven.xdoclet.ejbdoclet.deploymentdescriptor.0=true
maven.xdoclet.ejbdoclet.deploymentdescriptor.0.destDir=${maven.build.dir}/xdoclet/ejb/META-INF

maven.xdoclet.ejbdoclet.entitybmp.0=true
maven.xdoclet.ejbdoclet.entitycmp.0=true
maven.xdoclet.ejbdoclet.entitypk.0=true
maven.xdoclet.ejbdoclet.homeinterface.0=true
maven.xdoclet.ejbdoclet.localhomeinterface.0=true
maven.xdoclet.ejbdoclet.localinterface.0=true
maven.xdoclet.ejbdoclet.remoteinterface.0=true
maven.xdoclet.ejbdoclet.session.0=true
maven.xdoclet.ejbdoclet.utilobject.0=true
==========project.proerties==========END

==========Project.xml in root folder ==========BEG
<project>
	<pomVersion>3</pomVersion>
	<groupId>tw.idv.arsene.maven.sample</groupId>
	<id>arsene-sample-project</id>
	<name>arsene sample project</name>
	<currentVersion>1.0</currentVersion>
	<package>tw.idv.arsene.maven.sample</package>
    <!-- ################################################################ -->
    <!--        Project management section                                -->
    <!-- ################################################################ -->



    <!-- ################################################################ -->
    <!--        Project dependency section                                -->
    <!-- ################################################################ -->

	<dependencies>
      		<dependency>
        		<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>2.1</version>
			<url>http://jakarta.apache.org/commons</url>
		</dependency>

      		<dependency>
        		<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.0.3</version>
			<url>http://jakarta.apache.org/commons</url>
		</dependency>

		<!-- XDoclet J2ee -->
      		<dependency>
        		<groupId>jboss</groupId>
			<artifactId>jboss-j2ee</artifactId>
			<version>3.2.1</version>
			<url>http://www.jboss.org</url>
		</dependency>

		<!-- XDoclet -->
      		<dependency>
        		<groupId>xdoclet</groupId>
			<artifactId>xjavadoc</artifactId>
			<version>1.0.2</version>
			<url>http://xdoclet.sourceforge.net</url>
		</dependency>

      		<dependency>
        		<groupId>xdoclet</groupId>
			<artifactId>xdoclet</artifactId>
			<version>1.2</version>
			<url>http://xdoclet.sourceforge.net</url>
		</dependency>

      		<dependency>
        		<groupId>xdoclet</groupId>
			<artifactId>xdoclet-xdoclet-module</artifactId>
			<version>1.2</version>
			<url>http://xdoclet.sourceforge.net</url>
		</dependency>

      		<dependency>
        		<groupId>xdoclet</groupId>
			<artifactId>xdoclet-ejb-module</artifactId>
			<version>1.2</version>
			<url>http://xdoclet.sourceforge.net</url>
		</dependency>

      		<dependency>
        		<groupId>xdoclet</groupId>
			<artifactId>xdoclet-jboss-module</artifactId>
			<version>1.2b4</version>
			<url>http://xdoclet.sourceforge.net</url>
		</dependency>

    		<dependency>
        		<groupId>xdoclet</groupId>
        		<artifactId>xdoclet-jmx-module</artifactId>
        		<version>1.2</version>
			<url>http://xdoclet.sourceforge.net</url>
    		</dependency>
	</dependencies>
    <!-- ################################################################ -->
    <!--        Project build and reports section                         -->
    <!-- ################################################################ -->
	<build>
		<sourceDirectory>
			${basedir}/src/java
		</sourceDirectory>
		<unitTestSourceDirectory>
			${basedir}/src/test
		</unitTestSourceDirectory>
		<unitTest>
			<includes>
				<include>**/Test*.java</include>
			</includes>
			<!--
			<excludes>
				<exclude>
					**/*Test*All.java
				</exclude>
			</excludes>
			-->
		</unitTest>
	</build>
	
</project>

==========project.xml in root folder ==========END
==========HelloBean.java ==========BEG
package tw.idv.arsene.maven.sample.ejb;

import javax.ejb.*;

/**
 * @ejb:bean	name="Hello"
 *		description="Sample to test xdoclet" 
 *		jndi-name="ejb/Hello"	
 *		type="Stateless"	
 */

public class HelloBean extends BaseSessionBean {

	/**
	 * @ejb:interface-method	view-type="remote"
	 */
	public String speak(){
		return "hello";
	}

}

==========HelloBean.java ==========END
==========BaseSessionBean.java ==========BEG
package tw.idv.arsene.maven.sample.ejb;

import javax.ejb.*;
/**
 * @ejb:bean
 * 	name="BaseSession"
 * 	type="Stateless"	
 * 	view-type="remote"	
 * 	jndi-name="ejb/BaseSession"	
 */
public class BaseSessionBean implements SessionBean{
	/**
	 * @ejb:create-method 
	 */
	public void ejbCreate() throws CreateException{}
	public void ejbRemove(){}
	public void setSessionContext(SessionContext context){ }
	public void ejbPassivate(){ }
	public void ejbActivate(){}
}
==========BaseSessionBean.java ==========END



Cool Things Happen When Mac Users Meet! Join the community in Boston this July: www.macworldexpo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: How to get xdoclet generating necessary files thru maven?

Posted by Chuck Daniels <cj...@yahoo.com>.
Why have you overridden the xdoclet:ejbdoclet goal in your maven.xml?  Try
removing it from your maven.xml so that the goal by the same name in the
plugin can run.

> -----Original Message-----
> From: showit@spymac.com [mailto:showit@spymac.com]
> Sent: Friday, June 25, 2004 3:38 AM
> To: users@maven.apache.org
> Subject: How to get xdoclet generating necessary files thru maven?
>
>
> I make use of the example in wiki
> (http://wiki.codehaus.org/maven/CreatingJ2eeApplications) to
> create my j2ee project;
> yet encounter a probelm when integrate xdoclet with maven.
> After following up the instruction in maven plug-in page
> (http://xdoclet.sourceforge.net/xdoclet/maven-plugin.html),
> I setup maven.xml and project.properties along with project.xml.
> It looks as
> follow. However, it seems no use to get xdoclet generating
> necessary files (such as remote, home interface). Additionaly, I
> also defined
> necessary depandencies in the root project.xml. Where did I do it wrong?
> BTW, there no error report ,when compiling, for the ejb source I use was
> successful compiled and run smoothly only through xdoclet.
> I appreciate any suggestions.
> Sincerely,
> Arsene
>
>
>
> ==========maven.xml==========BEG
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns:maven="jelly:maven" xmlns:j="jelly:core">
> 	<preGoal name="java:compile">
> 		<attainGoal name="xdoclet:ejbdoclet"/>
> 	</preGoal>
> 	<!-- Generate required Xdoclet EjbDoclet resources for this
> project. -->
> 	<goal name="xdoclet:ejbdoclet">
> 		<echo message="destDir ->
> ${maven.xdoclet.ejbdoclet.destDir}"/>
> 		<echo message="srcDir ->
> ${maven.xdoclet.ejbdoclet.srcDir}"/>
> 		<mkdir dir="${maven.xdoclet.ejbdoclet.destDir}"/>
> 		<taskdef name="ejbdoclet"
> classname="xdoclet.modules.ejb.EjbDocletTask"
> 			classpathref="maven.dependency.classpath"/>
> 		<ejbdoclet destdir="${maven.xdoclet.ejbdoclet.destDir}"
> 			excludedtags="@version,@author,@todo"
> 			ejbspec="2.0" >
> 			<fileset dir="${maven.xdoclet.ejbdoclet.srcDir}">
> 			    <include name="**/*Bean.java"/>
> 			</fileset>
>
> 			<session/>
> 			<remoteinterface/>
> 			<homeinterface/>
>
> 			<deploymentdescriptor
>
> destdir="${maven.xdoclet.ejbdoclet.destDir}/META-INF"
> 			/>
>
> 			<jboss
> 			    version="3.0"
>
> destdir="${maven.xdoclet.ejbdoclet.destDir}/META-INF"
> 			/>
> 		</ejbdoclet>
> 		<echo>delete unneeded objects</echo>
> 		<delete>
> 			<fileset dir="${maven.xdoclet.ejbdoclet.destDir}">
> 				<include name="**/data/*.java"/>
> 				<include name="**/interfaces/*.java"/>
> 			</fileset>
> 		</delete>
> 		<path id="ejbdoclet.java.compile.src.set"
> location="${maven.xdoclet.ejbdoclet.destDir}"/>
> 		<maven:addPath id="maven.compile.src.set"
> refid="ejbdoclet.java.compile.src.set"/>
> 	</goal>
> </project>
> ==========maven.xml==========END
> ==========project.proerties==========BEG
> maven.multiproject.type=ejb
>
> #define xdoclet properties
> maven.xdoclet.force=false
> maven.xdoclet.ejbdoclet.srcDir=${basedir}/src/java
> maven.xdoclet.ejbdoclet.destDir=${basedir}/target/xdoclet/ejbdoclet
>
>
> maven.ejb.src=${maven.xdoclet.ejbdoclet.srcDir}
>
> # plugin.properties
> #ejbdoclet default properties
> maven.xdoclet.ejbdoclet.destDir=${maven.build.dir}/xdoclet/ejbdoclet
>
> maven.xdoclet.ejbdoclet.fileset.0=true
> maven.xdoclet.ejbdoclet.fileset.0.include=**/*Bean.java
>
> maven.xdoclet.ejbdoclet.deploymentdescriptor.0=true
> maven.xdoclet.ejbdoclet.deploymentdescriptor.0.destDir=${maven.bui
> ld.dir}/xdoclet/ejb/META-INF
>
> maven.xdoclet.ejbdoclet.entitybmp.0=true
> maven.xdoclet.ejbdoclet.entitycmp.0=true
> maven.xdoclet.ejbdoclet.entitypk.0=true
> maven.xdoclet.ejbdoclet.homeinterface.0=true
> maven.xdoclet.ejbdoclet.localhomeinterface.0=true
> maven.xdoclet.ejbdoclet.localinterface.0=true
> maven.xdoclet.ejbdoclet.remoteinterface.0=true
> maven.xdoclet.ejbdoclet.session.0=true
> maven.xdoclet.ejbdoclet.utilobject.0=true
> ==========project.proerties==========END
>
> ==========Project.xml in root folder ==========BEG
> <project>
> 	<pomVersion>3</pomVersion>
> 	<groupId>tw.idv.arsene.maven.sample</groupId>
> 	<id>arsene-sample-project</id>
> 	<name>arsene sample project</name>
> 	<currentVersion>1.0</currentVersion>
> 	<package>tw.idv.arsene.maven.sample</package>
>     <!--
> ################################################################ -->
>     <!--        Project management section
>         -->
>     <!--
> ################################################################ -->
>
>
>
>     <!--
> ################################################################ -->
>     <!--        Project dependency section
>         -->
>     <!--
> ################################################################ -->
>
> 	<dependencies>
>       		<dependency>
>         		<groupId>commons-collections</groupId>
> 			<artifactId>commons-collections</artifactId>
> 			<version>2.1</version>
> 			<url>http://jakarta.apache.org/commons</url>
> 		</dependency>
>
>       		<dependency>
>         		<groupId>commons-logging</groupId>
> 			<artifactId>commons-logging</artifactId>
> 			<version>1.0.3</version>
> 			<url>http://jakarta.apache.org/commons</url>
> 		</dependency>
>
> 		<!-- XDoclet J2ee -->
>       		<dependency>
>         		<groupId>jboss</groupId>
> 			<artifactId>jboss-j2ee</artifactId>
> 			<version>3.2.1</version>
> 			<url>http://www.jboss.org</url>
> 		</dependency>
>
> 		<!-- XDoclet -->
>       		<dependency>
>         		<groupId>xdoclet</groupId>
> 			<artifactId>xjavadoc</artifactId>
> 			<version>1.0.2</version>
> 			<url>http://xdoclet.sourceforge.net</url>
> 		</dependency>
>
>       		<dependency>
>         		<groupId>xdoclet</groupId>
> 			<artifactId>xdoclet</artifactId>
> 			<version>1.2</version>
> 			<url>http://xdoclet.sourceforge.net</url>
> 		</dependency>
>
>       		<dependency>
>         		<groupId>xdoclet</groupId>
> 			<artifactId>xdoclet-xdoclet-module</artifactId>
> 			<version>1.2</version>
> 			<url>http://xdoclet.sourceforge.net</url>
> 		</dependency>
>
>       		<dependency>
>         		<groupId>xdoclet</groupId>
> 			<artifactId>xdoclet-ejb-module</artifactId>
> 			<version>1.2</version>
> 			<url>http://xdoclet.sourceforge.net</url>
> 		</dependency>
>
>       		<dependency>
>         		<groupId>xdoclet</groupId>
> 			<artifactId>xdoclet-jboss-module</artifactId>
> 			<version>1.2b4</version>
> 			<url>http://xdoclet.sourceforge.net</url>
> 		</dependency>
>
>     		<dependency>
>         		<groupId>xdoclet</groupId>
>         		<artifactId>xdoclet-jmx-module</artifactId>
>         		<version>1.2</version>
> 			<url>http://xdoclet.sourceforge.net</url>
>     		</dependency>
> 	</dependencies>
>     <!--
> ################################################################ -->
>     <!--        Project build and reports section
>         -->
>     <!--
> ################################################################ -->
> 	<build>
> 		<sourceDirectory>
> 			${basedir}/src/java
> 		</sourceDirectory>
> 		<unitTestSourceDirectory>
> 			${basedir}/src/test
> 		</unitTestSourceDirectory>
> 		<unitTest>
> 			<includes>
> 				<include>**/Test*.java</include>
> 			</includes>
> 			<!--
> 			<excludes>
> 				<exclude>
> 					**/*Test*All.java
> 				</exclude>
> 			</excludes>
> 			-->
> 		</unitTest>
> 	</build>
>
> </project>
>
> ==========project.xml in root folder ==========END
> ==========HelloBean.java ==========BEG
> package tw.idv.arsene.maven.sample.ejb;
>
> import javax.ejb.*;
>
> /**
>  * @ejb:bean	name="Hello"
>  *		description="Sample to test xdoclet"
>  *		jndi-name="ejb/Hello"
>  *		type="Stateless"
>  */
>
> public class HelloBean extends BaseSessionBean {
>
> 	/**
> 	 * @ejb:interface-method	view-type="remote"
> 	 */
> 	public String speak(){
> 		return "hello";
> 	}
>
> }
>
> ==========HelloBean.java ==========END
> ==========BaseSessionBean.java ==========BEG
> package tw.idv.arsene.maven.sample.ejb;
>
> import javax.ejb.*;
> /**
>  * @ejb:bean
>  * 	name="BaseSession"
>  * 	type="Stateless"
>  * 	view-type="remote"
>  * 	jndi-name="ejb/BaseSession"
>  */
> public class BaseSessionBean implements SessionBean{
> 	/**
> 	 * @ejb:create-method
> 	 */
> 	public void ejbCreate() throws CreateException{}
> 	public void ejbRemove(){}
> 	public void setSessionContext(SessionContext context){ }
> 	public void ejbPassivate(){ }
> 	public void ejbActivate(){}
> }
> ==========BaseSessionBean.java ==========END
>
>
>
> Cool Things Happen When Mac Users Meet! Join the community in
> Boston this July: www.macworldexpo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org