簡體   English   中英

自定義 Maven GWT 構建在 openshift 上失敗

[英]custom maven GWT build fails on openshift

在 RedHat OpenShift 上,我創建了一個 jenkins 構建服務器。 為了讓它適用於我的自定義構建,我已將config.xml更改為numExecutors=1 然后我添加了一個 maven gwt 項目來構建。 構建失敗,因為它無法創建用戶首選項目錄。 請參閱此日志片段。

[INFO] --- gwt-maven-plugin:2.5.0-rc2:compile (default) @ web ---
[INFO] auto discovered modules [de.hpfsc.parent]
[ERROR] Apr 09, 2014 2:06:42 AM java.util.prefs.FileSystemPreferences$1 run
[ERROR] WARNING: Couldn't create user preferences directory. User preferences are unusable.
[ERROR] Apr 09, 2014 2:06:42 AM java.util.prefs.FileSystemPreferences$1 run
[ERROR] WARNING: java.io.IOException: No such file or directory

為了測試簡單 maven 構建的正確工作,我在https://github.com/abroer/jsltSpringLocaleProblem.git上創建了一個新的 jenkins 項目。 這個 Maven 項目工作正常,並且正在構建沒有錯誤。

可以通過構建https://github.com/steinsag/gwt-maven-example.git項目來重現該問題。

這是作業配置

<project>
  <actions/>
  <description></description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.plugins.openshift.OpenShiftApplicationUUIDJobProperty plugin="openshift@1.4">
      <applicationUUID></applicationUUID>
    </hudson.plugins.openshift.OpenShiftApplicationUUIDJobProperty>
    <hudson.plugins.openshift.OpenShiftBuilderSizeJobProperty plugin="openshift@1.4">
      <builderSize>small</builderSize>
    </hudson.plugins.openshift.OpenShiftBuilderSizeJobProperty>
    <hudson.plugins.openshift.OpenShiftBuilderTimeoutJobProperty plugin="openshift@1.4">
      <builderTimeout>300000</builderTimeout>
    </hudson.plugins.openshift.OpenShiftBuilderTimeoutJobProperty>
    <hudson.plugins.openshift.OpenShiftBuilderTypeJobProperty plugin="openshift@1.4">
      <builderType></builderType>
    </hudson.plugins.openshift.OpenShiftBuilderTypeJobProperty>
  </properties>
  <scm class="hudson.plugins.git.GitSCM" plugin="git@1.1.12">
    <configVersion>2</configVersion>
    <userRemoteConfigs>
      <hudson.plugins.git.UserRemoteConfig>
        <name>origin</name>
        <refspec>+refs/heads/*:refs/remotes/origin/*</refspec>
        <url>https://github.com/steinsag/gwt-maven-example.git</url>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>**</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <recursiveSubmodules>false</recursiveSubmodules>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <authorOrCommitter>false</authorOrCommitter>
    <clean>false</clean>
    <wipeOutWorkspace>false</wipeOutWorkspace>
    <pruneBranches>false</pruneBranches>
    <remotePoll>false</remotePoll>
    <buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
    <gitTool>Default</gitTool>
    <submoduleCfg class="list"/>
    <relativeTargetDir></relativeTargetDir>
    <excludedRegions></excludedRegions>
    <excludedUsers></excludedUsers>
    <gitConfigName></gitConfigName>
    <gitConfigEmail></gitConfigEmail>
    <skipTag>false</skipTag>
    <scmName></scmName>
  </scm>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers class="vector"/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Maven>
      <targets>clean package</targets>
      <mavenName>(Default)</mavenName>
      <usePrivateRepository>false</usePrivateRepository>
      <settings class="jenkins.mvn.DefaultSettingsProvider"/>
      <globalSettings class="jenkins.mvn.DefaultGlobalSettingsProvider"/>
    </hudson.tasks.Maven>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>

AFAICT,這些消息不應使編譯失敗。

GWT 僅在一個地方使用首選項:更新檢查,因此存儲上次檢查更新的時間。 這是在專用線程中異步完成的,不應使構建失敗。

GWT支持通過將禁用更新檢查-XdisableUpdateCheckCompiler ,但gwt-maven-plugin不會讓你這么做。 嘗試使用exec-maven-plugin調用 GWT 編譯器並將-XdisableUpdateCheck作為參數傳遞以查看它是否解決了您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM