build.xml文件
<taskdef
onerror ="ignore"
name ="monitor-client"
classpath="${jar-client}"
classname="hpms.app.mon.client.AntTask" />
<target name="run-client" depends="compile-sample" description="Launch monitor">
<monitor-client
layout ="Layout.xml"
gui ="true"
autostart ="true">
<log-server
port ="3000"
capacity="2048" />
...
Run Code Online (Sandbox Code Playgroud)
AntTask.java
public final class AntTask extends Task {
private ...
public void setLayout( String layout ) {
}
public void setGui( boolean gui ) {
}
public void setAutostart( boolean autostart ) {
}
public void addConfiguredLogServer( LogServer logServer ) {
}
@Override
public void execute() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
执行
Buildfile: ...\build.xml
compile-sample:
run-client:
BUILD FAILED
...\build.xml:116: monitor-client doesn't support the nested "log-server" element.
Run Code Online (Sandbox Code Playgroud)
题
我搜索适用的元素和属性命名规则以及映射规则到Java语言.
Apache ANT 使用两种方式来识别元素和属性:
org.apache.tools.ant.DynamicElement和org.apache.tools.ant.AttributeElement当使用特殊字符(如连字符)时,必须使用接口将 XML 标识符映射到 Java 标识符,如下所示:
import org.apache.tools.ant.DynamicElement;
import org.apache.tools.ant.Task;
public final class AntTask extends Task implements DynamicElement {
private ...
public void setLayout( String layout ) {
}
public void setGui( boolean gui ) {
}
@Override
public Object createDynamicElement( String name ) {
if( name.equals( "log-server" )) {
return new Logserver();
}
return null;
}
...
@Override
public void execute() {
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |