perlにはplaggerというフレームワークがあって
データの収集、加工、出力をそれぞれモジュール形式でつくっておいて、
設定ファイルだけで、コーディングしなくても実用的なツールを組み立てることができます。
この簡易版でもいいから、Javaでも実現するには、モジュールとして、動的にJARファイルを読み込むことが基礎技術として必要となります。
そのあたりについて、サンプルコードをつくったので、メモとしてはりつけておきます。
public class PlugLoader {
public static void main(String[] args) {
//ロードするjarファイル
File file = new File("c:\\plugin\\MyJar.jar");
try {
//クラスローダの作成
URLClassLoader loader = URLClassLoader.newInstance(new URL[] { file.toURI().toURL() });
//指定したクラスをロード
Class c = loader.loadClass("jp.boy.java.MyJar");
System.out.println(c.getName());
//インスタンス
try {
IMyJar obj = (IMyJar)c.newInstance();
System.out.println(obj.method01("hello"));
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
データの収集、加工、出力をそれぞれモジュール形式でつくっておいて、
設定ファイルだけで、コーディングしなくても実用的なツールを組み立てることができます。
この簡易版でもいいから、Javaでも実現するには、モジュールとして、動的にJARファイルを読み込むことが基礎技術として必要となります。
そのあたりについて、サンプルコードをつくったので、メモとしてはりつけておきます。
public class PlugLoader {
public static void main(String[] args) {
//ロードするjarファイル
File file = new File("c:\\plugin\\MyJar.jar");
try {
//クラスローダの作成
URLClassLoader loader = URLClassLoader.newInstance(new URL[] { file.toURI().toURL() });
//指定したクラスをロード
Class c = loader.loadClass("jp.boy.java.MyJar");
System.out.println(c.getName());
//インスタンス
try {
IMyJar obj = (IMyJar)c.newInstance();
System.out.println(obj.method01("hello"));
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}




