問題タブ [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.
maven - UnsupportedClassVersionError サポートされていない major.minor バージョン 52.0 (クラスをロードできません)
私のマシンに展開されたときの同じwarファイルは正常に機能します。ただし、ubuntu 14. およびリモート サーバー上の jdk 1.8 では、maven を使用して tomcat にデプロイすると例外が発生し続けます。リモートサーバーにリストされているjdkを確認しました:
これは、リモート serverR の Java バージョンです。
Maven を使用して Web アプリケーションをリモート サーバーにデプロイしています。pom ファイルは次のように構成されています。
tomcat での war ファイルのデプロイのスナップショットは次のとおりです。
java - リモート JAR 用の Java アノテーション プロセッサ
一般的な質問
私は 2 つのプロジェクト A と B を持っています。B は A に依存しています。A のオブジェクトの注釈に基づいて、注釈プロセッサを使用して B にコードを生成したいと考えています。正しいプロセッサ実装でコンパイルを実行すると、B の注釈付きオブジェクトのみが取得されます。
通常、すべての依存関係に対して注釈スキャンを実行したくないため、他の JAR のスキャンをデフォルトで無効にする必要があることを理解しています。また、コンパイラの魔法のせいでやりたいことを実行できない可能性があることも理解していますが、コンパイラの魔法についてはよくわかりませんが、そうではないことを願っています.
特定のケース
私のプロジェクトは DB と WEB と呼ばれています。WEB は明らかに、JPA アクセスを DB に依存しています。これは Maven で構成されます。アーキテクチャ上の選択肢が多いため、DB は別個の JAR のままにしておく必要があります。DB は、WEB によって消費されるいくつかの注釈を除いて、Spring を使用しません。WEBはSpring MVCを使用。
CrudRepository
アノテーション プロセッサを使用して、すべての JPA エンティティのインターフェイスを生成しようとしています。@Repository
オブジェクトは WEB プロジェクト内のパッケージに入るはずなのでrepo
、@Autowired
WEB アプリケーションのどこでも使用できます。スキャンを実行している注釈は ですが@javax.persistence.Entity
、カスタム注釈も試しましたが、同じ結果が得られました。
理想的には、次のような簡単な注釈について誰かに教えてもらいたいです。
しかし、もちろん、どこかに文書化されている可能性があるため、私はそれを期待していません。回避策として、Spring の依存関係を db に追加してそこでクラスを生成することもできますが、それらは Spring MVC アプリでのみ目的を果たします。また、これを機能させるために必要な構成についても警戒しています。
アップデート
いくつかの追加情報: 私は maven-processor-plugin を使用しています。これは、そこに定義されているクラスの WEB プロジェクトでうまく機能することが確認されています。ただし、依存関係プロジェクト DB で注釈が付けられたクラスにアクセスすることを特に望んでいます。メソッドを調べましたAbstractProcessor::getSupportedOptions
が、そこで何ができるかは不明です。
Maven 設定:
提案
私が持っていたもう1つのランダムな考えはJavaCompiler
、WEBでDBプロジェクトのプロセスを実行することでしたが、どのように注入しますProcessor
か?
javacompiler - JavaCompiler を使用して別のクラスをコンパイルすると、java.lang.NullPointerException が発生する
JavaCompiler クラスを使用して単純な Java クラスをコンパイルしようとしていますが、次のエラーが表示されます: Exception in thread "main" java.lang.NullPointerException at com.coderbd.compile.JDK6FirstCompile.main(JDK6FirstCompile.java:12)
JDK 1.8.31 を使用しています。問題の解決を手伝ってください。コーダーはここにあります:
どんな助けでも大歓迎です。
java - ルート プロジェクトの引数のメソッド sourceCompatibility() が見つかりませんでした
Gradle で構築されたJava ライブラリのソースとターゲットの互換性を定義したいと考えています。したがって、Java プラグインのドキュメントに従って、次のブロックを追加します。
プロジェクトをアセンブルすると、次のエラーが発生します。
ルート プロジェクトで引数 [1.7] のメソッド sourceCompatibility() が見つかりませんでした
関連している
java - 実行時のJavaファイルのコンパイルはEclipseで機能しますが、エクスポートされた実行可能なjarファイルからは機能しません
実行時にコードから .java ファイルをコンパイルしようとしましたが、すべてがEclipseで正常に動作します。しかし、プロジェクトをエクスポートしようとして、実行可能な jar ファイルを作成してから jar を実行しようとしても、何も起こりません。実行可能なjarファイルから機能しないのはなぜですか?
jar の実行後に Java コンソールに表示される内容は次のとおりです。
ソースファイルのコンパイルに使用する Java コードは次のとおりです。