問題タブ [javacompiler]

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.

0 投票する
1 に答える
1711 参照

java - JavaCompiler コンパイル済みクラスが見つかりません

JavaCompilerその場で生成するクラスをコンパイルするために使用しました。コンパイル タスクは成功します。次に、を使用してコンパイル済みのクラスをロードしようとしますClass.forName("MyClass")。ClassNotFoundException で失敗します。これを行う際の既知の問題はありますか?

0 投票する
1 に答える
541 参照

java - Java: jre で実行時にコードをコンパイルする

実行時にJavaでコードをコンパイルする必要があります。私はこれを調べましたが、それはそれを行う方法のようです。ここまでは順調ですが、すべてのプラットフォームで最終的なプログラムを実行する必要があります。なので、j r e だけのシステムがあると困ります。

今、コンパイラをJavaライブラリとして入手することを考えました。しかし、tools.jar を Java jdk からプロジェクトにコピーする解決策についてもわかりません。それは有効なアプローチですか、それとも別の解決策や使用できるライブラリがありますか?

スクリプトを Java コードに変換して実行したいので、これが必要です。

ありがとうございました!

- 編集 -

なぜこれが必要なのですか?

ユーザーは、プログラムの一部の動作に影響を与える必要があります。ですから、小さなスクリプト言語のようなものがあります。パフォーマンス上の理由から、それをJavaソースコードに変換してからバイトコードに変換してから使用するのが最善の解決策だと思います。このスクリプトは頻繁には変更されず、プログラムの主要部分が実行される前にのみ変更されます。より良い代替案がある場合は、それらについても教えていただければ幸いです。

質問がある場合、または詳細についてさらに情報が必要な場合は、質問してください。

0 投票する
1 に答える
71 参照

java - Java は、終了時にプロセスを返す必要があります

私の問題には 2 つの質問が必要ですが、簡単に説明します。そのため、bat ファイルを起動する必要があります。今、私はこのようにしています:

bat ファイルは、Java コンパイラを起動して別の Java ファイルをコンパイルし、エラー メッセージを txt ファイルに送信します。これは、bat ファイルがどのように見えるかです。

ここでの問題は、error.txt が作成され、エラーで満たされていることを確認するために、3 秒間のスリープを含める必要があることです。これは非常に不満です。私はバットファイルからの戻り値が必要なので、プログラムの残りの部分はそれが完了するまで待つ、プログラムからJavaコンパイラを起動してエラーメッセージをtxtファイルに送る方法を待ちます。

みんなありがとう。

0 投票する
1 に答える
857 参照

java - (JavaCompiler) 複数のファイルを同時にコンパイルする

そのため、組み込みの JavaCompiler API を使用して .java ファイルのディレクトリをコンパイルするプログラムの構築に取り組んでいます。ディレクトリを解析してファイルをコンパイルし、必要な順序でコンパイルすることさえできませんでした。特定のクラスが互いに依存しているため、古典的な「シンボルが見つかりません」というエラーが返されます。そのため、javac で正常にコンパイルされたファイルのグループが、私のプログラムでは失敗します。

それらを特定の順序でコンパイルする方法が必要です(私の最後のオプションは、実際には参照のためにファイルを解析することですが、私はむしろそうしません)同時にコンパイルする方法が必要です。

これが私のコードです:

編集: ワイルドカード (つまり *.java) は JavaCompiler では機能しません...

回答: コメントから、files[i].getPath() の代わりに、すべてのファイルのすべてのパスを含む String[] をコンパイラに渡そうとしました。よく働く!ありがとう!

0 投票する
2 に答える
76 参照

java - この if ステートメントは例外をスローしますか、それとも無視しますか?

最初の部分が false と評価されるため、このコードは if ステートメントのゼロ除算部分を評価しませんか? もしそうなら、これはすべての Java IDE のすべてのケースに当てはまりますか? または、特定のコンパイラが例外をスローしますか?

0 投票する
1 に答える
1293 参照

java - Java コード内からコンパイル済みの Java .class ファイルを実行し、出力をキャプチャする

ユーザーが.javaファイルを作成し、それをコンパイルして実行できるようにするインターフェースを備えたJavaプログラムを作成しようとしています(本質的に非常に単純化されたIDE)。私はGUIにJavaスイングを使用しており、これまでのところ、インターフェース内から.javaファイルを.classファイルにコンパイルできました。Javaコード内から.classファイルを実行する方法を研究してきましたが、うまくいかなかった幅広い答えを見つけました。コンパイルに関連するコードは次のとおりです。

コンパイルされた .class ファイルを実行し、コード内でその出力をキャプチャするにはどうすればよいですか?