問題タブ [apache-commons-jci]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Apache Commons JCI ReloadingClassLoader
Apache Commons JCI API の ReloadingClassLoader を使用した経験のある人はいますか?
唯一の使用例は次のページにあります: http://commons.apache.org/jci/usage.html
ディレクトリまたはjarが変更されるたびに、クラスローダー内のクラスが自動的にリロードされると思いますか?
その場合、新しく変更されたクラスを使用するには、以前にロード/インスタンス化されたクラスを (loadClass() を呼び出して) 再度ロード/インスタンス化する必要がありますか? あれは正しいですか?
これが明確であることを願っています。
java - Javassist 対。Java コンパイラ API
現在取り組んでいるプロジェクトでは、実行時に Java クラスを生成する必要があります。また、後でこれらのクラスを使用するときは、リフレクションを使用しないようにする必要があります。
これを行うための現在のソリューションを探していて、Javassist と Java 6 Java Compiler API を見つけました。
私は混乱しています:
Javassist はクラスを生成するために何を使用しますか? リフレクションか何かを使用していますか?
いくつかのテストをコーディングしましたが、ソース コードからバイトコードを生成し、生成されたバイトコードからクラスをロードするのは非常に簡単であることがわかりました。このソリューションよりも Javassist を使用する利点は何ですか?
java - javaクラスをjciでコンパイルするには?
私がこれを使用する誰か:
org.apache.commons.jci.compilers.JavacJavaCompiler
私はjciクラスを持っています:
私の出力は次のとおりです。
アイデア、ty。
java - Apache JCI FilesystemAlterationMonitor は、起動時に既存のフォルダー コンテンツの変更を処理します。
Java OSGi サービスで Apache JCI の FAM (FileAlterationMonitor) を使用して、FileSystem の変更を監視および処理しています。サービスを開始するたびに (以下のコードを使用して FAM を開始します)、FAM はディレクトリに存在するすべての変更を取得します。
現在、私は /tmp を見ています /tmp にはサブツリーが含まれています: /tmp/foo/bar/cat/dog
サービスを開始して FAM を開始するたびに、以下の DirectoryCreate イベントが報告されます。
そのサブツリーのどの部分にも変更が加えられていない場合でも。
サービスのアクティベーション時に実行されるコード:
リスナーの例: