2017-06-14 20 views
0

実行時にフィーチャー・ファイルを作成し、作成したファイルにアクセスしようとしています。私はhere与えられたすべての方法に従った。実行時にJavaクラスパスにファイルを追加する方法は?

1. Is there a way to refresh the project at runtime ? 
2. Is there any other way to load the file in classpath ? 

[編集]サイズのためにこれを上にしてみてくださいサンプルコード

public static void createFeatureFile(String featurePath) throws IOException{ 

    FileWriter writer = new FileWriter(featurePath); 

    writer.append("Feature: Test "); 
    writer.append("\n"); 
    writer.append("\n"); 
    writer.append("@test"); 
    writer.append("\n"); 
    writer.append("Scenario : add fruits"); 
    writer.append("\n"); 
    writer.append("Given I have 1 apple and 1 orange"); 
    writer.append("\n"); 
    writer.append("Then I add both""); 
    writer.append("\n");      

    writer.flush(); 
    writer.close();  

    File file =new File(featurePath); 
    addFileAtRunTime(file);   

} 

    private static void addFileAtRunTime(File file) throws Exception { 
     Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class}); 
     method.setAccessible(true); 
     method.invoke(ClassLoader.getSystemClassLoader(), new Object[]{file.toURI().toURL()}); 
    } 
+0

カスタムクラスローダーを調べる必要があります。 –

答えて

0

を追加します。

private static void addFileAtRunTime(File file) throws Exception { 
     Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class}); 
     method.setAccessible(true); 
     method.invoke(ClassLoader.getSystemClassLoader(), new Object[]{file.toURI().toURL()}); 
    } 

これは、指定されたファイルを含むようにシステムクラスローダーを編集します。

+0

私は試してみましたが、助けていません(: – user1553680

+0

あなたのコードを共有してください。 – Akash

+0

私は質問を更新しました – user1553680

関連する問題