問題タブ [javac]
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 - 列挙型定義の静的コンテキスト
Java のenum
機能によって提供されるシンタックス シュガーは、少し混乱することがあります。コンパイルされない次の例を考えてみましょう。
コンパイラが言う理由を誰でも説明できますか
非静的メソッド 'helper()' は静的コンテキストから参照できません
このコンテキストはどのくらい正確に静的ですか?
への呼び出しを変更するか(ここで 1 つの紛らわしい点があります: コンパイラが示唆するような「静的コンテキスト」に実際にいる場合、" " はどのように機能するのでしょうか?)、または の可視性をデフォルト レベルに上げることによって、このコンパイルを行うことができます。どちらがいいですか?また、より良い質問のタイトルを提案してください:-)this.
helper()
this
helper()
編集:これについていくつかの議論を見つけましたが、本当の答えはありません。this.helper()
私の同僚は、それが機能するという事実は、実際にはコンパイラのバグだと考えています。実際、新しい Java バージョンでは動作しないようです(動作しますsuper.helper()
が): 「シンボル ヘルパー () が見つかりません」。(奇妙なことが起こっていますが:異なるJavaバージョンで試した後this.helper()
、それらのいずれでも再度コンパイルすることはできません...)
java - コンパイルされた Java .class ファイルのレイアウトに影響を与える設定は何ですか? コンパイルされた 2 つのクラスが等しいかどうかは、どうすればわかりますか?
組み込みの Eclipse の「コンパイル」タスクでコンパイルされたアプリがあります。次に、ビルド プロシージャを Ant の に移動することにしましjavac
た。その結果、ファイルが小さくなりました。
後で、debuglevel を"vars,lines,source"
に調整すると、Eclipse と同じデバッグ情報を埋め込むことができることがわかりました。多くの場合、ファイルはまったく同じサイズのままでしたが、内部レイアウトは異なっていました。その結果、md5sum 署名を使用して、それらがまったく同じバージョンであるかどうかを判断できませんでした。
デバッグ情報以外に、等しいと思われる 2 つのファイルの内部レイアウトまたはサイズが異なる理由は何ですか?
また、コンパイルされた .class ファイルをどのように比較できますか?
java - Java から Ant を実行する場合の JAVA_HOME の設定
理由は長くて退屈ですが、Ant スクリプトを実行して、Java 1.4 アプリから Java 1.5 コードをコンパイルする必要があります。ただし、このエラーが発生し続けます。
私のコードには、次のものがあります。
しかし、それは無視します。p.setUserProperty(String, String) も試しましたが、それでもうまくいきません。別のプロセスを起動せずにそれを行う方法はありますか?
java - javac 1.5 の実行が Eclipse コンパイラーと比べて非常に遅いのはなぜですか?
私は約 800 個のソース ファイル (javacc/JTB によって生成されたもの) を含む Java Maven プロジェクトを持っていますが、これは javac でコンパイルするのに 25 分かかります。
Eclipse コンパイラーを使用するように pom.xml を変更したところ、コンパイルに約 30 秒かかりました。
javac (1.5) の実行速度が非常に遅い理由について何か提案はありますか? (Maven のプラグインには少しバグがあるように見えるので、Eclipse コンパイラーに永久に切り替えたくありません。)
問題を簡単に再現できるテストケースがあります。次のコードは、既定のパッケージに多数のソース ファイルを生成します。ImplementingClass.java を javac でコンパイルしようとすると、異常に長い時間停止するように見えます。
java - 非標準の注釈を使用 (または定義) していますか? その理由は何ですか? 再帰的な注釈はどうですか?
質問がすべてを物語っています。
専門家にとって、SUN Java 5 コンパイラーが (langspec に反して) 再帰的な注釈を受け入れるのに、後のコンパイラーが受け入れない理由はありますか? つまり、再帰的な注釈に対する議論は何でしょうか。
編集:再帰的な注釈は次のようなものです:
eclipse - Eclipseコンパイラまたはjavacのバグ?
誰が正しいですか?Eclipseまたはjavac?
--------------- c / v / A.java ---------------
--------------- c / v / B.java ---------------
EclipseはB.javaを問題なくコンパイルします。
Javacに問題があります。
java - javac/ant の高速化
私はJavaが起動してほぼ瞬時に実行されることを発見しましたが、javacには数秒かかり、antは再び遅くなります。ほんの数秒ですが、私の編集 - コンパイル - テストループはそれがなければよりスムーズになります。:-)
ところで:私はすでにvimの「:make」をantで使用しています。
javac や ant を高速化する方法はありますか? 特別なスイッチやトリックを考えていますか? または、代替の Java コンパイラ (Linux で 1.6 を使用しています)
java - JAVAC を使用して、複数のファイルとディレクトリを含むプロジェクトをコンパイルできますか?
私は非常に大規模なプロジェクトに取り組んでおり、複数のディレクトリにクラス ファイルが関連付けられており、すべてルート ディレクトリ \src に由来しています。
まだコンパイルされていない、src 内の他のディレクトリからのインポートを使用する src\solution\ (Console.java と呼ばれる) 内のファイルをコンパイルしようとしています。
では、IDE の外部で Console.java をコンパイルしたい場合、どうすればよいのでしょうか? そうそう、ビルドに含める必要がある外部 JAR もいくつかあります。
ありがとう!それは有り難いです!
eclipse - 大規模なJavaプロジェクトのコンパイルを自動化するにはどうすればよいですか?
私は雇用主のために自動化プロジェクトに取り組んでいます。ソースコードのリビジョンごとにプールがあります。リビジョンをダウンロードするときは、最終的にプロジェクトをビルドするために、多数のサードパーティインクルードを含むディレクトリ構造を作成する必要があります。スクリプト(.bat)で特定の実行可能なJavaアプリケーションをコンパイルするまで、このプロセス全体を自動化しました。この単一のプロジェクトには多くのアプリケーションがあり、ディレクトリリストは次のようになります。
今、con.javaの自動コンパイルをしたいのですが、どこから始めればいいのかわかりません。人々は私がAntを試すことを提案しましたが、Eclipseを使用して取得する自動化されたAntファイル生成は、アクティブなプロジェクトファイルが存在する間にcon.javaをビルドするのに十分なようです。とにかく、Eclipseを使用せずにこれを自動化して、バッチファイルに.jar自体を生成させることはできますか?