我试图使用Apache Camel调用一个简单的shell脚本,但出现错误:
Failed to resolve endpoint: exec:///usr/local/karaf/data/tmp/test.sh due to: No component found with scheme: exec
在我的camel-context.xml中,
<route id="common_route">
<from uri="direct:common_route" />
<to uri="exec:/usr/local/karaf/data/tmp/test.sh"/>
</route>
在我的pom.xml中
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-exec</artifactId>
<version>${camel.version}</version>
</dependency>
我们正在使用骆驼2.15.3版本。我们正在使用Spring Camel。 有任何想法吗?这是必须非常简单却令人沮丧的事情之一。
顺便说一句,如果我使用
exec:/usr/....
要么
exec:///usr/....
谢谢。
答案 0 :(得分:0)
我知道了。该文档至少在骆驼的exec页面上没有提及此。
1:我必须添加行
org.apache.camel.component.exec
到
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Spring-Context>*;create-asynchronously:=false</Spring-Context>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Import-Package>
...
org.apache.camel.component.exec
...
2:我必须在Karaf控制台中运行以下命令:
bundle:install mvn:org.apache.camel/camel-exec/2.15.3
bundle:install mvn:org.apache.commons/commons-exec/1.3
bundle:install mvn:commons-io/commons-io/1.4