spring - 与元素类型 "value"关联的属性 "property"的值不得包含 '<' 字符

标签 spring spring-batch

<bean id="fileDiffTaskelt" class="org.springframework.batch.core.step.tasklet.SystemCommandTasklet" scope="step">
<property name="command" value="diff #{jobParameters['INPUT_FILE']} #{jobParameters['PREVIOUS_FILE']} |  grep -e '<' -e '>' | grep -x '.\{20\}' > #{jobParameters['FILTERED_FILE']}"/>
<property name="timeout" value="60000"/>
<property name="workingDirectory" value="/tmp/hub"/>
</bean>

我在我的 IDE 中遇到此错误:与元素类型“property”关联的属性“value”的值不能包含“<”字符。我在我的 grep 命令中使用了这个字符,它非常重要,卡在这里。

最佳答案

您可以使用 Escape Strings同样。

替换'<'在值属性中为 &apos;&lt;&apos; .

    <property name="command" value="diff #{jobParameters['INPUT_FILE']}
      #{jobParameters['PREVIOUS_FILE']} |  grep -e &apos;&lt;&apos; -e &apos;&gt;&apos; 
      | grep -x '.\{20\}' > #{jobParameters['FILTERED_FILE']}"/>

同样适用于适当escape strings对于 '>'

XML Escape Strings

关于spring - 与元素类型 "value"关联的属性 "property"的值不得包含 '<' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41089496/

相关文章:

java - 使用 "maven install"构建后,尽管 Class.forName() 在 IDE 中找到该类并导出,但 Java 反序列化失败并出现 ClassNotFoundException

java - 创建名为 'batchPropertyPostProcessor' 的 bean 时,批处理作业初始化因错误而失败

java - Spring 批处理 : dynamic datasource values

spring - 使用 Spring Webflux 返回元素列表

java - spring动态查看不同目录

java - 请求体+JSON

java - spring boot json错误媒体类型和spring security

java - org.springframework.beans.NotReadablePropertyException : Invalid property of bean class

ios - 在堆栈 View 中动画 subview ?

spring-batch - Spring 批处理 : how to pass jobParameters to a custom bean?