2016-05-11 4 views
0

現在、設定ファイルをテストコードに追加しています。私のローカルマシンで正常に動作しますが、私がJenkinsに移動すると失敗します。私は問題を知っていると思うが、私は最善の解決策を探している。ここに私のコードは次のとおりです。コードをジェンキンスに移動するときの設定プロパティファイルの検索方法>

public static void main(String [] args) throws IOException{ 
    File file = new File("C:\\Users\\Test\\Regrassion_Framework\\src\\main\\java\\GUI\\config.properties"); 

     FileInputStream fileInput = null; 
     try { 
      fileInput = new FileInputStream(file); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     Properties prop = new Properties(); 

     //load properties file 
     try { 
      prop.load(fileInput); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    System.err.println(prop.getProperty("url")); 

} 

}

私は、問題は、私はローカルに自分の設定ファイルを指定することだと思います。コードをジェンキンスに移動すると、これを編集する必要がありますか?これを手動で行うか、人為的なエラーが発生することなく簡単に行うことができますか?

+0

ファイルの場所はかなりハードコードされているようです。ジェンキン機の位置は同じですか?そして、スタックトレースを投稿することもできます。 – Rik

+0

ハードコードされています。私は、それが私のマシンと私のプロジェクトのどこにあるのかを特にハードコーディングせずにプロパティファイルを使う方法を求めています。 – trevdro

+0

チェックアウトしているリポジトリの場合は、かなり簡単です。私はJavaの専門家ではありません。もしあなたがビルドサーバー上で実行したいと思う典型的なコードのように見えないので、あなたはフォルダ構造とこれをどのように実行しているかについてもう少し詳細を与えることができます。リモートスレーブを扱うことができる[filepath](http://javadoc.jenkins-ci.org/hudson/FilePath.html)をチェックアウトすることもできます。 – Rik

答えて

0

このプロパティファイルは、この1つのプロジェクトでのみ使用される場合は、テストコードでパッケージ化できます。それは複数のプロジェクトで使われている場合は、共有ディレクトリに置くか、ソースコントロールに格納検討し、

InputStream is = YourTestClassName.class.getClassLoader().getResourceAsStream("your/package/name/testFiles/config.properties") 

:あなたはこのようにリソースをロードすることができます。

関連する問題