为什么github不使用相同的jdk编译?

vwoqyblh  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(311)

我有一个scala代码,它成功地在jdk13.0.1上本地构建。

  1. s.getValue().stripTrailing() // s.getValue() returns String

当此代码由github操作生成时,我得到以下错误:

  1. Error: -- [E008] Not Found Error: /github/workspace/core/src/main/scala/co.blocke.scalajack/yaml/YamlParser.scala:45:96
  2. Error: 45 | case "|" | ">" => s.getValue().stripTrailing()
  3. Error: | ^^^^^^^^^^^^^^^^^^^^^^^^^^
  4. Error: | value stripTrailing is not a member of String

我的操作文件是:

  1. name: Package Build
  2. # This workflow is triggered on pushes to the repository.
  3. on:
  4. push:
  5. branches-ignore:
  6. - "feature/*" # don't run build/test against a feature branch -- no SLA there
  7. - "master"
  8. jobs:
  9. build:
  10. name: Build
  11. runs-on: ubuntu-latest
  12. steps:
  13. - name: Checkout repo
  14. uses: actions/checkout@v2
  15. - name: Set up JDK 13
  16. uses: actions/setup-java@v1
  17. with:
  18. java-version: '13.0.1'
  19. - name: Test
  20. id: sbt
  21. uses: lokkju/github-action-sbt@master
  22. with:
  23. commands: test

striptrailing()是oracle和OpenJDK13.x库中的字符串方法。

x6492ojm

x6492ojm1#

行动 github-action-sbt 在内部使用docker容器(源)。你的脚步 Set up JDK 13 只适用于直接在运行程序上运行的对象,但不影响容器。
解决方案
指定格式为的标记 {JAVA_VERSION}-{SBT_VERSION}-{SCALA_VERSION} . 可用版本见下文。

  1. - name: Test
  2. id: sbt
  3. uses: lokkju/github-action-sbt@14-1.3.0-2.10.7
  4. with:
  5. commands: test

标记控制初始化映像所用的java、sbt和scala的版本。sbt和scala将自动下载项目设置中指定的其他版本,但如果它们与初始化的版本不匹配,则可能需要大量额外的构建时间。
标记格式为 {JAVA_VERSION}-{SBT_VERSION}-{SCALA_VERSION} 当前支持的标记有:

  1. JAVA_VERSIONS=("8" "11" "14")
  2. SBT_VERSIONS=("0.13.17" "1.1.6" "1.2.8" "1.3.0")
  3. SCALA_VERSIONS=("2.13.0" "2.12.10" "2.11.12" "2.10.7")

创建此帖子时的来源
源@主

展开查看全部

相关问题