2011-06-27 2 views
20

私は小さなスクリプトを持っています現在の実行ディレクトリを渡すためにパラメータを使用していますが、もう少し頑強にしたいと思います。groovy(またはjava)で現在のベース実行ディレクトリを見つける方法は?

基本実行ディレクトリはどのようにして見つけられますか?

+1

関連Q:http://stackoverflow.com/questions/1163093/how SCRIPTDIRはのようなものが割り当てられている

def scriptDir = getClass().protectionDomain.codeSource.location.path

-do-you-get-the-path-the-run-script-in-groovy –

+0

Timに感謝します。私はその質問に対して受け入れられた答えを使用しました。 –

答えて

13

を使用することができます。

質問に受け入れ答えhereは私が探していたものです。

例として、c:\users\Scott\からc:\scripts\MyScript.groovyを呼び出すとき、私はc:\scripts\を知りたがっていました。

これは、これを介して行われます:

/c:/scripts/MyScript.groovy

+5

はい、あなたの質問はうまく語られません。あなたは "クラスの場所を取得する方法"を尋ねる必要がありました。あなたは答えを見つけてうれしいです。 –

29

これを試してみてください:

System.getProperty("user.dir"); 
+0

はい、これは最初のアイデアでしたが、スクリプトの所在地からではなく、スクリプトがどこから呼び出されているかを示すだけです(私の質問はおそらく少し混乱しています)。 –

11

をセキュリティモデルに応じて、System.getProperty(String)が許可されていない場合、あなたが参考のため

String currentDir = new File(".").getAbsolutePath() 
+1

この回避策は役立ちません。 getAbsoluteFile()。getParent() - これは、getAbsolutePath()のjavadocがthrows * "' SecurityException' - 必要なシステムプロパティ値にアクセスできない場合 "* –

+3

です。末尾の "/"パスから。 – CodeMonkeyKing

関連する問題