如何在Tomcat中部署的Alfresco中部署模块

时间:2017-08-08 06:59:45

标签: java tomcat deployment alfresco

我已成功在Tomcat 7.0.59中使用数据库MySQL5.6和jdk1.8.0_141

部署alfresco社区4.2.f

到目前为止没有问题,现在,我有一个由我们公司开发的模块,我需要在露天部署。该模块调用一个WS,它将PDF发送到某个地方。

我在用jdk1.8.0_141

编译的jar中得到了这个模块

我尝试将它放在alfresco.war中,然后在WEB-INF / lib中的Tomcat中部署,但是当我这样做并使用来自Tomcat的startup.bat进行部署时,它会在控制台中弹出

instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/codehaus/xfire/XFireRuntimeException

我理解这个异常是因为将jar放入战争中引起的。 有人告诉我,jar也是在jdk8中编译的。

另外,告诉你如果不是这个jar我把WEB-INF / classes中的alfresco.war放在一个属性文件中,以便在部署中获得我们的数据库,它可以正常工作。

问题是当我尝试部署模块时。

我看到有相当多的教程指向做类似的事情:

java -jar bin/alfresco-mmt.jar

我无法做到这一点,因为我已经完成了使用其向导安装alfresco。我在一个新的tomcat安装中部署了alfresco。

有没有人知道如何使用我们部署露天的方式部署我们的模块?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过两种方式安装放大器:

第一个传统的:

这是与应用程序procédure(alfresco-mmt)一起安装的。 对我而言,这与您的安装不兼容并不正确。您可以在露天包装中轻松找到bin文件夹(包含alfresco-mmt.jar文件):https://download.alfresco.com/release/community/4.2.f-build-00012/alfresco-community-4.2.f.zip

如果有,请按照文档:http://docs.alfresco.com/4.2/tasks/amp-install.html

以这种方式应用你的放大器:

java -jar alfresco-mmt.jar install <AMPFileLocation> <WARFileLocation>

第二个:

您可以使用alfresco sdk重新创建战争,并在构建中包含您创建的模块。 如果您遵循此文档:http://docs.alfresco.com/4.2/tasks/dev-extensions-maven-sdk-tutorials-all-in-one-archetype.html repo 部分的目标文件夹中产生的战争将包含您的模块,因为此模块的pom将包含对 amp 模块的依赖:

...
<dependencies>
     <dependency>
          <groupId>${alfresco.groupId}</groupId>
          <artifactId>alfresco</artifactId>
          <type>war</type>
     </dependency>
     <!-- Demonstrating the dependency on the repo AMP developed in the 'amp' 
                           module -->
      <dependency>
          <groupId>x.y.z</groupId>
          <artifactId>my-amp</artifactId>
          <version>${my-amp.version}</version>
          <type>amp</type>
          </dependency>
      </dependencies>
      ...
      <build>
            <plugins>
                    <plugin>
                         <artifactId>maven-war-plugin</artifactId>
                         <configuration>
                         <!-- Here is can control the order of overlay of your (WAR, AMP, etc.) 
                                              dependencies | NOTE: At least one WAR dependency must be uncompressed first 
                                              | NOTE: In order to have a dependency effectively added to the WAR you need 
                                               to | explicitly mention it in the overlay section. | NOTE: First-win resource 
                                              strategy is used by the WAR plugin -->
                                 <overlays>
                                 <!-- Current project customizations -->
                                       <overlay />
                                       <!-- The Alfresco WAR -->
                                       <overlay>
                                           <groupId>${alfresco.groupId}</groupId>
                                           <artifactId>alfresco</artifactId>
                                           <type>war</type>
                                            <!-- To allow inclusion of META-INF -->
                                            <excludes />
                                             </overlay>
                                            <!-- Add / order your AMPs here -
                                        <overlay>
                                             <groupId>x.y.z</groupId>
                                             <artifactId>my-amp</artifactId>
                                             <type>amp</type>
                                         </overlay>
                                       </overlays>
                               </configuration>
                      </plugin>
               </plugins>
       </build>