我正在尝试部署到Fuse Fabric。该应用程序使用Spring,Camel,CXF,WS-security,drools和Guvnor构建。
我能够将应用程序部署到Karaf容器,但是当我使用FAB部署在Fabric中部署它时。它抛出了下面的错误堆栈。
java.lang.Exception: Can not resolve feature:
Unsatisfied requirement(s):
---------------------------
package:(&(package=org.ops4j.pax.exam.options)(version>=1.2.0)(!(version>=2.0.0)))
Apache Aries Unit Test Support
package:(&(package=org.apache.aries.mocks)(version>=0.3.0))
com.eissDemo.ServiceV2
package:(&(package=org.ops4j.pax.exam)(version>=1.2.0)(!(version>=2.0.0)))
Apache Aries Unit Test Support
package:(&(package=javax.xml.namespace)(version>=5.0.0.2)(version<=5.0.0.2))
com.eissDemo.ServiceV2
package:(&(package=org.apache.aries.unittest.fixture)(version>=0.4.0))
com.eissDemo.ServiceV2
package:(&(package=org.apache.aries.unittest.mocks.annotations)(version>=0.3.0))
com.eissDemo.ServiceV2
package:(&(package=org.apache.aries.itest)(version>=0.4.0))
com.eissDemo.ServiceV2
package:(&(package=javax.xml.soap)(version>=5.0.0.2)(version<=5.0.0.2))
com.eissDemo.ServiceV2
package:(&(package=org.junit))
Apache Aries Unit Test Support
package:(&(package=org.apache.aries.unittest.mocks)(version>=0.3.0))
com.eissDemo.ServiceV2
package:(&(package=org.apache.aries.unittest.junit)(version>=0.3.0))
com.eissDemo.ServiceV2
package:(&(package=javax.persistence)(version>=5.0.0.2)(version<=5.0.0.2))
com.eissDemo.ServiceV2
package:(&(package=junit.framework))
Apache Aries Unit Test Support
package:(&(package=org.objectweb.asm)(version>=3.3.1)(version<=3.3.1))
com.eissDemo.ServiceV2
首先,上面的错误要求我在Fabric容器中包含Junit和mock相关的框架,这不是必需的!?这些框架在maven中添加了“test”范围。
其次,依赖“aries”没有直接在项目中使用。它由camel-cxf框架使用。但仍然要求在依赖中提到“白羊座”罐子。 FAB部署应该照顾这些第三方依赖关系,否则就会失去使用它的目的!!
第三,soap和名称空间依赖关系存在于请求版本的maven依赖项中。还在抱怨!
我在面料中安装了以下功能
cxf
camel-xstream
camel-jaxb
camel-spring
camel-jms
camel-blueprint
spring
camel-core
fabric-camel
camel-spring-javaconfig
war
以及以下maven功能URLS
mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.6.0.redhat-60024/xml/features
mvn:org.apache.cxf.karaf/apache-cxf/2.6.0.redhat-60024/xml/features
mvn:org.jboss.fuse/jboss-fuse/6.0.0.redhat-024/xml/features
mvn:org.apache.camel.karaf/apache-camel/2.10.0.redhat-60024/xml/features
并且该应用程序用作fab
mvn:com.xxxx/ServiceV2/1.0.0-SNAPSHOT
任何人都可以告诉我,如果我使用的功能足够多,或者我需要更多功能,如果需要,还需要包含哪些内容?为什么我需要在结构中包含测试框架?或者我如何避免它们被部署在保险丝织物中?