2013-04-25 39 views
2

我正在嘗試爲Jahia網站開發模板集模塊。在Maven構建模塊中Jahia6.6部署錯誤

我使用了這裏提供的官方文檔中描述的分步過程:http://www.jahia.com/cms/home/download/jahia-academy/documentation.default.html?displayTab=technical-documentation模板和集成指南」。

基本上,它意味着使用maven archetype在服務器上初始化,構建和部署項目。兩個第一步都正確完成。它生成模塊的骨架和強制文件。然後,我可以構建它以創建一個.war文件。

mvn archetype:generate -DarchetypeCatalog=http://maven.jahia.org/maven2  
>> [INFO] PROJECT GENERATED 

mvn clean install 
>> [INFO] BUILD SUCCESS 

但是在部署過程中發生錯誤。

mvn jahia:deploy 
>> [INFO] BUILD FAILURE 
>> [ERROR] Failed to execute goal org.jahia.server:maven-jahia-plugin:2.81:deploy (default-cli) on project test-template-set: 
>> Error while validating deployers:Factory not initialized properly, 
>> you must set the targetServerDirectory variable before calling getInstance ! -> [Help 1] 
>> [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

所提供的link給了我一個自我解釋的結論:

不像許多其他錯誤,不被Maven的 核心本身,而是通過一個插件生成此異常。例外 的具體含義取決於插件,因此請查看其文檔。

因此,在使用Jahia文檔中描述的標準程序後,我能找到的唯一建議就是仔細觀察它。歡迎來到生活的捕捉22方面。

我正在使用Jahia6.6.1.0社區分發。我在Jahia論壇上沒有發現任何進一步的線索。

我想知道我錯過了哪一步。這是一個常見的錯誤嗎?還是隻是一個Jahia強制性文件丟失?尋找一個「helloworld工作模塊」的線索也會很好。

以下是錯誤的完整跟蹤:

[INFO] Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Test Cooptation template set 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-jahia-plugin:2.81:deploy (default-cli) @ test-template-set --- 
[INFO] Jahia project structure version is 2 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.456s 
[INFO] Finished at: Thu Apr 25 14:39:19 CEST 2013 
[INFO] Final Memory: 12M/220M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.jahia.server:maven-jahia-plugin:2.81:deploy (default-cli) on project test-template-set: Error while validating deployers: 
Factory not initialized properly, you must set the targetServerDirectory variabl 
e before calling getInstance ! -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jahia.server:maven-jahia-plugin:2.81:deploy (default-cli) on project test-template-set: Error while validating deployers 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Error while validating deployers 
     at org.jahia.utils.maven.plugin.DeployMojo.doValidate(DeployMojo.java:129) 
     at org.jahia.utils.maven.plugin.AbstractManagementMojo.execute(AbstractManagementMojo.java:129) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
     ... 19 more 
Caused by: java.lang.RuntimeException: Factory not initialized properly, you must set the targetServerDirectory variable before calling getInstance ! 
     at org.jahia.configuration.deployers.ServerDeploymentFactory.getInstance(ServerDeploymentFactory.java:74) 
     at org.jahia.utils.maven.plugin.DeployMojo.doValidate(DeployMojo.java:127) 
     ... 22 more 
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please rea 
d the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

回答

4

Prerequisites - by Jahia提到,我們至少應該調整的目標路徑來我們的Apache Tomcat應用服務器,並在情況下,你會從源代碼構建Jahia和部署它,數據庫連接設置。

最小settings.xml文件上Tomcat部署Jahia和使用MySQL DBMS是:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

    <localRepository>C:/development/m2repository</localRepository> 

    <servers> 
     <server> 
      <id>jahiaRepository</id> 
      <username>maven</username> 
      <privateKey>C:/putty/maven.jahia.org.private</privateKey> 
     </server> 
    </servers> 
    <profiles> 
     <profile> 
      <id>jahia-mysql</id> 
      <properties> 
       <jahia.configure.databaseType>mysql</jahia.configure.databaseType> 
       <jahia.configure.databaseUrl>jdbc:mysql://localhost/jahia?useUnicode=true&amp;characterEncoding=UTF-8&amp;useServerPrepStmts=false</jahia.configure.databaseUrl> 
       <jahia.configure.databaseUsername>root</jahia.configure.databaseUsername> 
       <jahia.configure.databasePassword>password</jahia.configure.databasePassword> 
      </properties> 
     </profile> 
     <profile> 
      <id>jahia-tomcat</id> 
      <properties> 
       <jahia.deploy.targetServerType>tomcat</jahia.deploy.targetServerType> 
       <jahia.deploy.targetServerDirectory>C:/development/apache-tomcat-6.0.32</jahia.deploy.targetServerDirectory> 
       <jahia.deploy.targetServerVersion>6</jahia.deploy.targetServerVersion> 
      </properties> 
     </profile> 
    </profiles> 

    <activeProfiles> 
     <activeProfile>jahia-mysql</activeProfile> 
     <activeProfile>jahia-tomcat</activeProfile> 
    </activeProfiles> 

    <pluginGroups> 
     <pluginGroup>org.jahia.server</pluginGroup> 
    </pluginGroups> 
</settings> 

我希望這可以幫助。

+0

這正是我所需要的。謝謝 – vaugham 2013-04-26 12:04:12