2013-11-14 38 views
2

我正在使用'声明'现有的Java REST(使用Jersey)项目。 我有build.xml和enunciate.xml文件:创建输出文件docs.zip,但解压缩此文件后,我有: css/dir, js/dir, robots.txt,model.html,index.html, favicon.ico,crossdomain.xml,application.wadl,apple-touch-icon.png文件。声明为现有的Java REST API创建文档

index.html和model.html从我的Java REST代码没有任何文档。 任何人都可以帮助我吗? 我没有'发音'的经验。

谢谢,

--->这是REST代码示例之一:

@Path( “/ {spacecraftId} /登录”)

公共类UserLogHandler 实现ProcessCommunicationFacilityFailureListenerInterface, MessageCustomerInterface, IMessageAvailable {

/** 
* Retrieve log file information from MySQL database: 
* 
*/ 
@GET 
@Produces(MediaType.TEXT_XML) 
public Response retrieveLogFromDatabase(
     @PathParam("spacecraftId") String spacecraftId, 
     @Context HttpServletRequest servletRequest) 
{ 
} 

}

--->的 '的build.xml' 文件:

<!--The enunciate classpath points to all the jars in the "lib" directory.--> 
<path id="enunciate.classpath"> 

<pathelement path="${acmd-class-dir}:${mdasclasses.dir}"/> 

    <fileset dir="/TPS/V19.0.2"> 
    <include name="xerces/xercesImpl.jar"/> 
    <include name="xerces/xml-apis.jar"/> 
    <include name="jdkaddons/jdom.jar"/> 
    <include name="jdkaddons/mail.jar"/> 
    <include name="jdkaddons/commons-codec.jar"/> 
    <include name="jdkaddons/asm-3.1.jar"/> 
    <include name="jdkaddons/jersey-core-1.7.jar"/> 
    <include name="jdkaddons/jersey-server-1.7.jar"/> 
    <include name="jdkaddons/jsr311-api-1.1.1.jar"/> 
    <include name="jdkaddons/jersey-client-1.7.jar"/> 
    <include name="jdkaddons/jersey-multipart-1.7.jar"/> 
    </fileset> 


    <fileset dir="${enunciate.home}/lib"> 
    <include name="*.jar"/> 
    </fileset> 

    <fileset dir="${enunciate.java}"> 
    <include name="lib/tools.jar"/> 
    </fileset>   

</path> 

<!--define the task...--> 
<taskdef name="enunciate" classname="org.codehaus.enunciate.main.EnunciateTask"> 
    <classpath refid="enunciate.classpath"/> 
</taskdef> 

<enunciate basedir="./" verbose="true" configFile="./enunciate.xml" > 

    <include name="**/*.java"/> 
    <classpath refid="enunciate.classpath"/> 
    <export artifactId="docs" destination="./docs.zip"/> 
    <javacArgument argument="-g"/> 
</enunciate> 

--->的 'enunciate.xml' 文件:

<api-classes> 
    <include pattern="/tps/tomcat/lib/servlet-api.jar"/>> 

    <exclude pattern="com.sun.jersey.multipart.FormDataParam"/> 
</api-classes> 

<services> 
    <rest defaultRestSubcontext="api"> 
    </rest> 
</services> 

<webapp disabled="true"> 
</webapp> 

<modules> 
    <disable-rule id="csharp.warnings"/> 
    <disable-rule id="c-warnings"/> 
    <disable-rule id="obj-c.warnings"/> 
    <basic-app disabled="true"/> 
    <c disabled="true"/> 
    <csharp disabled="true"/> 
    <jaxws-ri disabled="true"/> 
    <obj-c disabled="true"/> 
    <amf disabled="true"/> 
    <gwt disabled="true"/> 
    <jboss disabled="true"/> 
    <object-c disabled="true"/> 
    <rubby disabled="true"/> 
    <jaxws-client disabled="true"/> 

    <jersey disabled="false"/> 

    <docs title="ICMD API" docsDir="./" splashPackage="cmd.acmd_mdc_servlet" includeDefaultDownloads="true" includeExampleXml="false" disableRestMountpoint="true" copyright="copyright" forceExampleJson="true"/> 
</modules> 

+0

问题修正:我需要在下的标记中包含Java软件包名称。 – derek

回答

2

您的“包含模式”不正确。 “包括”是指,而不是罐子。因此,它可能看起来像:

<include pattern="com.mycompany.api.resources.**"/> 

此外,还要确保所有这些类是在classpath中,当你调用字正腔圆。