【发布时间】:2017-08-08 06:59:44
【问题描述】:
我已经成功在 Tomcat 7.0.59 中部署了 alfresco community 4.2.f,数据库 MySQL5.6 和 jdk1.8.0_141
到目前为止没有问题,现在,我得到了我们公司开发的一个模块,我需要部署在露天。这个模块调用一个 WS,它将一个 PDF 发送到某个地方。
我把这个模块放在一个用 jdk1.8.0_141 编译的 jar 中
在 Tomcat 的 WEB-INF/lib 中部署之前,我尝试将它放在 alfresco.war 中,但是当我这样做并使用 Tomcat 中的 startup.bat 进行部署时,它会在控制台中弹出
instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/codehaus/xfire/XFireRuntimeException
我了解此异常是由于将罐子放入战争中造成的。 有人告诉我这个jar也是用jdk8编译的。
另外,告诉你,如果我在 WEB-INF/classes 的 alfresco.war 中放置一个属性文件而不是这个 jar 来让我们的数据库投入部署,它就可以正常工作。
问题出在我尝试部署模块时。
我看到有很多教程指向做类似的事情:
java -jar bin/alfresco-mmt.jar
我不能这样做,因为我假设这是用它的向导安装 alfresco 完成的。我在全新的 tomcat 安装中部署了 alfresco。
有谁知道如何使用我们部署 alfresco 的方式部署我们的模块?谢谢。
【问题讨论】:
-
看起来你制作的模块是一个罐子而不是一个放大器。因此,如果您有外部依赖项,它们将不会包含在您的打包中:“对于不存在对第三方库的依赖项的扩展,简单的 JAR 模块通常是首选的打包类型。”你应该使用我给你的解决方案之一。
-
我刚看到这个评论,这个jar没有第三方库,那最好带jar吧?那么有可能以我告诉你我做对的方式之一部署扩展程序吗?
-
这很难说,因为你手动把一个罐子放进了WAR:我不能保证你没问题,对不起。
-
我发现了问题所在,首先正如我在对您的帖子的评论中告诉您的那样,它不是用 jdk8 编译的,但这不是唯一的问题,依赖关系没有更新到 alfresco 4.2.f,它们针对之前部署的 alfresco 2.1.0 进行了更新。你知道一种方法来检查或知道哪些是新 pom.xml 的兼容依赖项吗?
-
我太专注于我部署错误,但问题是模块中的代码......
标签: java tomcat deployment alfresco