我的Apache build.xml文件中有下面的代码段。
<property
name = "classpath"
value = "${dir_google_api_libs}/google-http-client-1.19.0.jar:"
"${dir_google_api_libs}/google-http-client-jackson2-1.19.0.jar:"
"${dir_google_api_libs}/jackson-core-2.1.3.jar"
/>但是,如果我尝试在这个build.xml文件上调用Apache,它( Ant )实际上会抱怨字符串被分割成多行。它给我的确切信息是;
file:/home/craig/source_code/java/Test_JsonFactory/build.xml;org.xml.sax.SAXParseException;systemId: lineNumber: 78;columnNumber: 11;元素类型"property“必须后面跟着属性规范">”或"/>“。
有没有人知道是否有一种方法来完成我想要做的事情,即将字符串分割成多条线?我讨厌在我的build.xml文件中有这样长的行,并且发现当代码垂直定向并跨多行拆分时,分析代码要容易得多。
发布于 2015-02-10 02:55:24
您所拥有的不是格式良好的XML,因此不适用于任何XML应用程序.。
以下XML格式良好,显示了如何拆分您的长线:
<property
name = "classpath"
value = "${dir_google_api_libs}/google-http-client-1.19.0.jar:
${dir_google_api_libs}/google-http-client-jackson2-1.19.0.jar:
${dir_google_api_libs}/jackson-core-2.1.3.jar"
/>但是,请注意,这将取决于应用程序是否像下面的XML一样处理@value中的带行中断的XML,而在@value中没有行中断。
<property
name = "classpath"
value = "${dir_google_api_libs}/google-http-client-1.19.0.jar:${dir_google_api_libs}/google-http-client-jackson2-1.19.0.jar:${dir_google_api_libs}/jackson-core-2.1.3.jar"
/>在Apache的例子中,我还没有测试上面的多行版本,但是即使它确实有效,我也不会推荐它。相反,我建议使用path元素:
<path id="classpath">
<pathelement path="${dir_google_api_libs}/google-http-client-1.19.0.jar"/>
<pathelement path="${dir_google_api_libs}/google-http-client-jackson2-1.19.0.jar"/>
<pathelement path="${dir_google_api_libs}/jackson-core-2.1.3.jar"/>
</path>https://stackoverflow.com/questions/28422876
复制相似问题