0

svn データをダウンロードしたいのですが、残念ながら svn+ssh の URL にあるため、常にパスワードを入力する必要があります。1 回のプログラム呼び出しですべてのバージョンを取得するには、パスワードの入力を省略したいと考えています。これにはskriptにパスワードを入力する必要があるので、せめて単純なシェルskriptではこれができないので、Javaにしてみました。私が実際に書いたメソッドは次のようになります。

 public static void main(String args[]) throws InterruptedException,
        IOException {
    String user = args[0];
    String passwd = args[1];

    String url = args[2];

    String command = "svn checkout svn+ssh://" + user + "@" + url;

    Process p = Runtime.getRuntime().exec(command);
    System.out.println("Start");
    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
            p.getOutputStream()));
    BufferedReader inp = new BufferedReader( new InputStreamReader(p.getInputStream()) );
    BufferedReader stderr = new BufferedReader(new InputStreamReader( p.getErrorStream ()));
    String line = "";
    System.out.println("Waiting...");
    while ( line!=null)
    {
        Thread.sleep(100);
        if ( inp.ready())
        {
            line = inp.readLine();
            System.out.println("Line: " + line);
        }
        if ( stderr.ready())
        {
            line = stderr.readLine();
            System.out.println("Line: " + line);
        }
    }
    out.write(passwd + '\n');
    out.write(passwd + '\n');
    p.waitFor();
}

残念ながら、これは機能しません。出力にPassword-Enter-Thingすら表示されません。コンソールにのみ書き込まれます。パスワードを渡す方法を知っている人はいますか?

私はいつもこれを検索しましたが、「スタウトも読む(すでに読んでいます)か、--passwordを介してsvnにパスワードを与えるという答えがありましたが、これは私の場合は機能しません。これを解決する方法を知っている人はいますか?

よろしくDaGeRe

4

1 に答える 1