Java 使用USCavalry converter将Velocity模板转换为FreeMarker

Java 使用USCavalry converter将Velocity模板转换为FreeMarker,java,converter,freemarker,velocity,Java,Converter,Freemarker,Velocity,我有大量的Velocity模板要转换为FreeMarker 我发现了一个称为的转换器工具,声称可以完成这项工作 我在IntelliJ中将其设置为一个Maven项目,并将Velocity和Freemarker依赖项添加到pom.xml中 该工具运行良好,但我对得到的输出不满意。它似乎是AST的标记化输出。不替换正确的自由标记符号 还有其他人遇到过这个问题吗?为了获得有意义的FreeMarker模板作为输出,您做了哪些更改 我将尝试修改源代码以输出VelocityRuntimeServices.pa

我有大量的Velocity模板要转换为FreeMarker

我发现了一个称为的转换器工具,声称可以完成这项工作

我在IntelliJ中将其设置为一个Maven项目,并将Velocity和Freemarker依赖项添加到pom.xml中

该工具运行良好,但我对得到的输出不满意。它似乎是AST的标记化输出。不替换正确的自由标记符号

还有其他人遇到过这个问题吗?为了获得有意义的FreeMarker模板作为输出,您做了哪些更改


我将尝试修改源代码以输出Velocity
RuntimeServices.parse()的成果以外的内容,但我认为如果其他人已经解决了这个问题,这可能会有所帮助。

USCAVALRY是一个非常简单的工具,而且也非常过时(链接的网页是一个10年前的快照,甚至在那时可能已经过时了)。对于非常基本的事情来说,它似乎是可行的(比如,$x==1)$y#end
至少对我来说是翻译成了
${y}
)。正确的自动翻译在理论上是不可能的,即使是半体面的翻译也会相当棘手(比如,您必须考虑语义差异,比如在
if
条件下什么是逻辑真,必须识别广泛使用的Velocity工具的调用,并将其转换为
?xxx
表达式等。).据我所知,没有这样的工具存在。因此,这主要是一项手工任务,有手工制作的正则表达式替换等等……或者你必须修改USCavalry源代码,以速度更快的为准。

不,它甚至没有为我做那些基本的事情。但我感谢你的回答。知道这是一个手工过程是值得的。我有我开始手动操作,但我认为用一个工具可以简化操作。谢谢你抽出时间!