maven - How can I compile and run my Custom Doclet class in my project? -



maven - How can I compile and run my Custom Doclet class in my project? -

i'm trying dump class javadoc comment (preferabbly subclasses of libraries webpage class) @ compile time .properties file in format classname=comment.

so far have:

created doclet class sitemapdoclet the class defined scan javadocs in project , dump them .properties file added necessary configs pom.xml work.

versions: java 1.6.0.21, maven 2.2.1

problem: mvn site returns:

embedded error: error rendering maven report: exit code: 1 - java.lang.noclassdeffounderror: org/apache/commons/logging/logfactory @ us.ak.state.revenue.cssd.personnel.utils.sitemapdoclet.<clinit>(sitemapdoclet.java:27) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597)

i tried setting jars additionaldependencies though normal dependencies project. tried adding paths jars expect class need part of bootclasspath.

the reporting section of pom.xml looks this:

<reporting> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <version>2.9</version> <reportsets> <reportset> <id>html</id> <reports> <report>javadoc</report> </reports> </reportset> <reportset> <id>sitemap</id> <configuration> <doclet> us.ak.state.revenue.cssd.personnel.utils.sitemapdoclet </doclet> <docletpath>${project.build.outputdirectory}</docletpath> <destdir>sitemap</destdir> <author>false</author> <usestandarddocletoptions>false</usestandarddocletoptions> <!-- there has got improve way this! --> <!-- how can prepare cssd-web - base of operations utilize proper manifest file? --> <bootclasspath> ${bootclasspath}; ${env.classpath}; ${m2repository}/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar; ${m2repository}/org/apache/wicket/wicket-core/${wicket.version}/wicket-core-${wicket.version}.jar; ${m2repository}/us/ak/state/revenue/cssd/cssd-web/${cssdwebbase.version}/cssd-web-${cssdwebbase.version}.jar </bootclasspath> <additionaldependencies> <additionaldependency> <groupid>us.ak.state.revenue.cssd</groupid> <artifactid>cssd-web</artifactid> <version>${cssdwebbase.version}</version> </additionaldependency> <additionaldependency> <groupid>org.apache.wicket</groupid> <artifactid>wicket-core</artifactid> <version>${wicket.version}</version> </additionaldependency> <additionaldependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>1.2.16</version> </additionaldependency> <additionaldependency> <groupid>commons-logging</groupid> <artifactid>commons-logging</artifactid> <version>1.1.1</version> </additionaldependency> </additionaldependencies> <name>sitemapdoclet</name> <description>page descriptions sitemap generation</description> </configuration> <reports> <report>javadoc</report> </reports> </reportset> </reportsets> </plugin> </plugins> </reporting>

note: ${m2repository} defined property higher file, defined ${env.userprofile}/.m2/repository ${bootclasspath} defined property higher file, defined ${env.jre_6_home}\lib\rt.jar;${env.java_home}\lib\tools.jar;

how can prepare noclassdeffounderror?

additionally sitemap file run part of normal build process, after compile before package.

i've tried defining in build, javadoc doesn't created , don't see logging output doclet.

<plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <version>2.9</version> <executions> <execution> <id>build-sitemap-descriptions</id> <phase>process-classes</phase> </execution> </executions> </plugin>

update: @ben75 's suggestion. i've removed <reporting> section of pom.xml , have process failing during build. added <goals> , copied <configuration> section <reporting>.

it's still throwing noclassdeffounderror it's happening on build want to. tried adding:

<includedependencysources>true</includedependencysources> <dependencysourceincludes> <dependencysourceinclude>org.apache.wicket:wicket-core:*</dependencysourceinclude> <dependencysourceinclude>org.apache.commons.logging:*</dependencysourceinclude> <dependencysourceinclude>us.ak.state.revenue.cssd:cssd-web:*</dependencysourceinclude> </dependencysourceincludes>

to configuration section, didn't work.

you can seek set <additionaldependencies> plugin dependendencies:

<plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <version>2.9</version> <dependencies> <dependency> <groupid>us.ak.state.revenue.cssd</groupid> <artifactid>cssd-web</artifactid> <version>${cssdwebbase.version}</version> </dependency> ...

to attach javadoc plugin normal build process, think need specify goal , preferably attaching prepare-package phase (so javadoc not generated when run test phase):

<build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <version>2.9</version> <executions> <execution> <id>attach-javadoc</id> <phase>prepare-package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

maven maven-2 javadoc maven-javadoc-plugin doclet

Comments

Popular posts from this blog

javascript - mongodb won't find my schema method in nested container -

Hibernate criteria by a list of natural ids -

ios - Lagging ScrollView with UIWebview inside -