我正在尝试使用发音 v1.26.2 ant 任务创建 java-client 库。问题是每次我尝试这样做时,都会收到以下警告消息:
WARNING: Unknown artifact 'java.client.library'. Artifact will not be exported.
我检查了 java-client enunciate jar 是否在类路径上,并且 enunciate 甚至说它在输出中找到了它。
enun:
Loading modules from the specified classpath....
Discovered module docs
Discovered module java-client
...
所以我不确定该怎么做。我试过用谷歌搜索发现 SO 只有几个问题要表达,似乎没有人回答我的问题。这是我的带有相关行的 ant 脚本:
<path id="enunciate.classpath">
<fileset dir="${lib.enunciate.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${java.home}">
<include name="lib/tools.jar"/>
</fileset>
</path>
<taskdef name="enunciate" classname="org.codehaus.enunciate.main.EnunciateTask">
<classpath refid="enunciate.classpath"/>
</taskdef>
<target name="enun" description="Run enunicate task on the rest services">
<enunciate basedir="${src.web.java.dir}">
<include name="**/*.java"/>
<classpath refid="enunciate.classpath"/>
<export artifactId="java.client.library" destination="${dist.client.dir}/rest/" />
<export artifactId="docs" destination="${dist.docs.rest.dir}/"/>
<javacArgument argument="-g"/>
</enunciate>
</target>
注意:文档导出被调用并正确导出,没有问题。包含的代码编译没有问题。我似乎无法发现为什么 ant 脚本不想导出 java-client 库。我尝试将 artifactId 的名称更改为几个不同的值,包括:java.client.library.binaries、java-client.library、enunciate-java-client 以及所有其他没有最终结果的东西。我尝试使用 enunciate.xml 配置文件,但似乎没有帮助。这是我尝试使用的xml:
<?xml version="1.0"?>
<enunciate label="full" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.26.xsd">
<modules>
<java-client disabled="false" disableCompile="false" jarName="foo.jar"/>
<docs disabled="false" docsDir="dist/docs/rest/"/>
</modules>
</enunciate>