自动化SpringRoo操作的Ant任务?

自动化SpringRoo操作的Ant任务?,spring,ant,spring-roo,Spring,Ant,Spring Roo,我需要从ant build.xml自动执行spring roo任务。这有可能吗?也许有一个蚂蚁任务库来完成这个任务 使用ant代替maven/gradle/。。。这不是我的决定,我对此无能为力 用exec任务调用rooshell只是最后的手段,我想要一个解决方案,我不需要从ant进程的jvm中跳出来。rooshell在OSGi环境上执行,并要求它运行。使用OSGi依赖注入在运行时获取组件。所以,由于Ant作为简单的java应用程序运行,所以没有办法将Rooshell作为Ant任务运行,而是使用A

我需要从ant build.xml自动执行spring roo任务。这有可能吗?也许有一个蚂蚁任务库来完成这个任务

使用ant代替maven/gradle/。。。这不是我的决定,我对此无能为力

用exec任务调用rooshell只是最后的手段,我想要一个解决方案,我不需要从ant进程的jvm中跳出来。

rooshell在OSGi环境上执行,并要求它运行。使用OSGi依赖注入在运行时获取组件。所以,由于Ant作为简单的java应用程序运行,所以没有办法将Rooshell作为Ant任务运行,而是使用AntExec任务,正如您已经注释的那样


抱歉。

使用Roo生成的项目与任何其他Maven项目一样,因此您可以使用exec任务。大概是这样的:

<target name="mvn-install">
    <exec executable="mvn">
        <arg value="clean" />
        <arg value="install" />
    </exec>
</target>

好的,但是roo.shroo.bat有一种调用roo的方法。它只是使用java-jar调用来完成任务。为什么ant即使需要为作业启动osgi环境,也不能这样做?roo.sh所做的是运行ApacheFelix,加载所有roo组件,如您所说的命令。@eruiz也许从ant启动Felix就足够了?难道没有felix/ant集成吗?@eruiz好的,但是如果一个java命令可以调用felix,它调用osgi组件并启动spring roo,为什么ant不可能实现同样的集成呢?我不知道你的意思。。。Ant就是这样,请参阅《用户指南》以了解更多关于Ant目标的信息。谢谢,但可能您没有阅读我的最后一句话:使用exec任务调用roo shell只是最后的手段,我想要一个解决方案,我不需要从Ant进程的jvm中退出。您也不明白,我想调用roo操作实体、执行等,而不是maven操作。如果这不是我问题的答案,那么你得到了一个否决票和一个not-Ant-Ant-Ant-Ant标志。所以,jmvivo是对的,你不能从Ant、Maven。。。所有Roo命令都是OSGi组件,因此您需要运行OSGi容器来执行它们。是的,Roo.sh启动了这个OSGi容器,而这正是我作为ant java任务要做的……对于未来的Google用户来说:在没有有效答案的情况下,问题无限期地存在。如果你有答案,我会用我的投票/接受能力等你。