【问题标题】:custom maven GWT build fails on openshift自定义 maven GWT 构建在 openshift 上失败
【发布时间】:2014-04-09 06:50:57
【问题描述】:

在 RedHat OpenShift 上,我创建了一个 jenkins 构建服务器。为了让它适用于我的自定义构建,我将 config.xml 更改为 numExecutors=1。然后我添加了一个 maven gwt 项目来构建。构建失败,因为它无法创建用户首选项目录。请参阅此日志 sn-p。

[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>

【问题讨论】:

  • 这似乎是一个权限问题。尝试找出它尝试写入用户首选项的位置,并更改目录以包含运行该进程的任何用户的写入权限。

标签: maven gwt jenkins openshift


【解决方案1】:

AFAICT,这些消息不应导致编译失败。

GWT 仅在一个地方使用首选项:更新检查,因此存储上次检查更新的时间。这是在专用线程中异步完成的,不应使构建失败。

GWT 支持通过将-XdisableUpdateCheck 传递给Compiler 来禁用更新检查,但gwt-maven-plugin 不允许您这样做。尝试使用exec-maven-plugin 调用GWT 编译器并将-XdisableUpdateCheck 作为参数传递,看看它是否能解决您的问题。

【讨论】:

  • 修复了我的 OpenShift 设备上的编译。
猜你喜欢
  • 2018-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多