【问题标题】:Why does sdkman not update Java SDK version for project subdirectories?为什么 sdkman 不更新项目子目录的 Java SDK 版本?
【发布时间】:2022-11-11 15:52:14
【问题描述】:

通过 .sdkmanenv 文件为项目目录设置 Java 版本后,Java 版本只有在导航到根目录时才会更新。

这只是预期的行为吗? .sdkmanrc 文件是否需要传播到所有子目录?

例子:

~ % mkdir root_dir
~ % cd root_dir
root_dir % mkdir sub_dir
root_dir % sdk env init
  .sdkmanrc created.
root_dir % cat .sdkmanrc
  # Enable auto-env through the sdkman_auto_env 
  config
  # Add key=value pairs of SDKs to use below
  java=8.0.345-tem
root_dir % sed -i"" -e 's/8.0.345-tem/11.0.16-tem/' .sdkmanrc
root_dir % cat .sdkmanrc
  # Enable auto-env through the sdkman_auto_env config
  # Add key=value pairs of SDKs to use below
  java=11.0.16-tem
root_dir % cd ..
~ % cd root_dir/sub_dir
sub_dir % cd ..
  Using java version 11.0.16-tem in this shell.
root_dir % cd ..
  Restored java version to 8.0.345-tem (default)

作为参考,我分别使用以下版本的 sdkman 和 macOS。

% sdk version
SDKMAN 5.16.0

#macOS version
% sw_vers -productVersion
12.5.1

另外,我通过“sdk config”设置了“sdkman_auto_env=true”

% grep sdkman_auto_env .sdkman/etc/config
sdkman_auto_env=true

【问题讨论】:

    标签: java sdk sdkman


    【解决方案1】:

    不幸的是,目前还不支持。有一个开放的功能请求 (#1102) 来支持这一点。

    was also suggested to respect the closest .sdkmanrc 在最初的 auto-env 功能实现中,但决定先保持简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-10
      • 2016-02-06
      • 2023-02-23
      • 2015-08-24
      • 2021-12-10
      • 2015-11-22
      • 2015-01-27
      • 2014-08-22
      相关资源
      最近更新 更多