json形式を使用してホスト名を表示するspring IOフレームワークを使用して作成されたアプリケーションで作業しています。サービスとして起動すると、Javaアプリケーションが正常に動作しない
それはコマンドでコマンドラインから起動されたときに、アプリケーションが正常に動作している:
java -jar spring-cd.jar
必要な出力できます:
を、それは次のように実行されるときsystemdユニットファイルを使用したサービスreuqired出力(ホスト名)null:
ユニットファイルのコードは以下の通りです:
[Unit]
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /opt/training/spring-cd/spring-cd.jar
Type=simple
User=root
Restart=always
[Install]
WantedBy=default.target
私はそれらのアプローチや、なぜ第二ディスプレイ「ヌル」の違いは何であるか理解していません。また、私はかなり新しく、systemdとlinuxです。
関連するJavaコード:
import java.lang.System;
public class Greeting {
private final String content;
public Greeting() {
this.content = getHostname();
}
private String getHostname(){
String hostname;
if (System.getProperty("os.name").startsWith("Windows")) {
hostname = System.getenv("COMPUTERNAME");
} else {
hostname = System.getenv("HOSTNAME");
}
return hostname;
}
public String getContent() {
return content;
}
}
あなたは関連するJavaを投稿することができますホスト名を読み取るコード? – randomir
私は投稿を編集し、Javaコード – MiM1
を含むgithubリポジトリへのリンクを追加しました。環境変数が異なる可能性があります。 – hailinzeng