我最近开始使用JBoss的Wildfly 8.1和activiti框架。
我创建了两个项目,一个项目带有bpmn.xml文件以及服务任务的类:
Process:
-src/main/
-impl.java
-src/resources/
-diagrams
-myprocess.bpmn.xml
-config
-activiti-context.xml
另一个持有servlet
WebTest:
-src/main
-testServlet.java
-lib
-process.jar
在我的servlet中,我实现了init方法来获取Activiti processEngine:
@Override
public void init() throws ServletException{
super.init();
engine = ProcessEngines.getDefaultProcessEngine();
}
我构建Webtest.war文件并将其部署到
D:/path/to/workingdir/wildfly-8.1.0.Final/**standalone/deployments**/Webtest.war
然后我使用提供的standalone.bat启动Widlfly,它可以正确启动并部署到上下文/ Webtest,到目前为止一切顺利。
如果我现在访问localhos:8080 / Webtest / servlet,则会得到异常:
org.activiti.engine.ActivitiException:无法从Spring配置资源vfs:/ D:/path/to/workingdir/wildfly-8.1.0.Final / bin / content / TEST-初始化流程引擎1.war / WEB-INF / lib / process.jar / activiti-context.xml:null
结尾处带有:null的错误表示无法访问该文件。当然不能,没有bin /内容!
我现在的问题是:Widlfly从何处得到查看bin / content的想法?它显然能够自行找到配置文件,我从未告诉过spring或activiti来查看process.jar,因此该应用程序可以在classpath中找到配置...然后,它开始从一个完全不同的位置读取文件不存在的位置?
我不知道这是否有趣,但这是我的activiti-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"/>
</beans>
感谢您的帮助或提示!
我也面临同样的问题?你修好了吗?