<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
同样。
替换'<'
在值属性中为 '<'
.
<property name="command" value="diff #{jobParameters['INPUT_FILE']}
#{jobParameters['PREVIOUS_FILE']} | grep -e '<' -e '>'
| grep -x '.\{20\}' > #{jobParameters['FILTERED_FILE']}"/>
同样适用于适当escape strings
对于 '>'
关于spring - 与元素类型 "value"关联的属性 "property"的值不得包含 '<' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41089496/