問題について助けが必要です。Java クラスの 1 つで、ファイルにアクセスする必要があります。ファイルは、問題の Java クラスと同じ場所 (ソース コード内) にある必要があります。コードの抜粋を次に示します。
String fileName = "myfile.myext"
resource = "./" + fileName
String fileContent = IOUtils.toString(clazz.getResourceAsStream(resource));
そして、これは Eclipse の私の開発ボックスで問題なく動作します。ただし、Jenkins (私の CI サーバー) に配置した瞬間、動作しません。以下を確認しました
- ファイル「myfile.myext」は、Jenkins にデプロイされた jar に存在します。
- Jenkinsコードは、「myfile.myext」を見つけられないだけでなく、クラスの内容をそのように読み取ろうとすると「someOther.class」を見つけられません。ここで「someOther.class」は、コードの一部である実際のクラスです。
関連する可能性のあるいくつかのこと
- Jenkins にデプロイされるのは「myProduct.jar」と「myProduct_test.jar」です。私の Junits は「myProduct_test.jar」にのみあり、「myProduct.jar」にはありません。逆に、すべての製品コードは「myProduct.jar」にのみあり、「myProduct_test.jar」は単にクラスパスからその jar を使用します。
ネットネット、ジェンキンスでは、コードベースからファイルを読み取るためのテストケースを取得できません。Eclipseではできます。
誰もこれに直面した/解決したことがありますか?