AWS SDK Javaの更新でUnknownHostException

fess-ds-s3プラグインのsoftware.amazon.awssdk:s3を2.30.33に更新したら、

Caused by: software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: fess-0.localhost (SDK Attempt Count: 4)

みたいな例外が出るようになった…。何かなと思ったら、これにあるように、endpointを指定している場合は、forcePathStyle(true)も必要になっていた。なので、追加したら解決した。

MacOS Ollamaに外部から接続する

OllamaをMacOSに入れると、localhostではアクセスできるが、別なPCとかからはアクセスできません。アプリとして入れれば、launchctl setenv OLLAMA_HOST “0.0.0.0”とかでアクセスできるらしいが、brew installしたものは、この設定ではアクセスできるようにはならず…。

brewでOllamaをインストールした場合は、この情報に従って、設定すると良い。まず、/opt/homebrew/opt/ollama/homebrew.mxcl.ollama.plistを開いて、

<key>EnvironmentVariables</key>
<dict>
<key>OLLAMA_HOST</key>
<string>0.0.0.0</string>
</dict>

をdictの中に追加する。brewで入れたOllamaの再起動は

brew services restart ollama

を実行すると良い。これで、外からOllamaのAPIでアクセスできるようになる。

sdkmanでJavaの切り替え

sdkmanでJavaを入れて使っているけど、特定のディレクトリに入ったときにJavaのバージョンを切り替えたい場合にどうするのが良いかを調べてみると、切り替えたいディレクトリで

sdk env init

をすると、.sdkmanrcファイルが生成されるので、そこで指定しておけば良さそう。たとえば、

java=17.0.12-tem

みたいな感じ。でも、これだけだとディレクトリに入ったときに自動では切り替わらないので、自動で切り替わるようにしておく設定が必要。

sdk config

とすると設定値が編集できるので、

sdkman_auto_env=true

としておく。この設定をすぐに有効にしたい場合は

sdk env

をして反映しておく。

という感じことをしておけば、自動でJavaのバージョンを切り替えて利用できるはず。