問題タブ [sdkman]

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 に答える
40 参照

java - Java SE に含まれるメソッドのパラメーター名を反射的に取得するにはどうすればよいですか?

Java SE 8 (特にthreeten-extra#166に関して) のクラスに基づく静的インポート用に設計されたコードを作成しようとしています。

最初のパスとして、特定のクラス セットの静的ファクトリ メソッドに基づくメソッドの Java コードを自動的に生成します。私の希望は、何も見逃さないようにすること、手動エラーの可能性を減らすこと、およびコピー/貼り付けの繰り返しをなくすことです。

Java リフレクション API を使用して、Methodコードを自動生成するメソッドのオブジェクトを取得しています。Method次に、そのオブジェクトを使用してメソッド シグネチャを生成しています。

たとえば、LocalDate.of(int year, int month, int dayOfMonth)メソッドの場合、次のようなものが必要です。

最も重要なのは、生成された Java コードの署名に、JDK と同じパラメーター名が含まれていることを確認することです。Java には、 を使用してメソッドのパラメーター名を取得する機能があることを知っていますParameter.getName()。ただし、メソッドのパラメーター名が存在するとは限りません。.classファイルはデフォルトではそれらを保存しません ( -parametersto オプションを指定javacすると含まれます)。私の特定のケースでは、パラメーター名は Java であり、(少なくとも私のバージョンでは) コンパイルされていません。

出力:

Paranamerライブラリを使用してJava 8 Javadocから引数名を読み取ろうとしましたが、Java 8 Javadoc HTML 形式 ( paranamer#39 )をサポートしていないようです。

私は現在SDKMANを使用しています!macOS で Java のバージョン ( AdoptOpenJDK8.x ) を管理します。Java のバージョン間でメソッドが同一である必要がある場合、Java 8 の特定のバージョンである必要はありませんが、Java 8 のバージョンである必要があります

Methodこの状況で組み込み Java SE 8 クラスのパラメータ名を取得するにはどうすればよいですか?

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

maven - mvn の依存関係: リポジトリを読み取ろうとしてツリーがハングする

アパッチ Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)

Maven ホーム: /home/redacted/.sdkman/candidates/maven/current

Java バージョン: 17.0.1、ベンダー: Azul Systems, Inc.、ランタイム: /home/redacted/.sdkman/candidates/java/17.0.1.fx-zulu

デフォルトのロケール: en_US、プラットフォームのエンコード: UTF-8

OS名:「linux」、バージョン:「5.4.0-91-generic」、アーキテクチャ:「amd64」、ファミリ:「unix」

次のコマンドを実行しても終了せず、ハングしているように見えます。

デバッグ ログ レポートの最後の行:

[DEBUG] http://repository.tesla.io:8081/nexus/content/repositories/snapshots/にトランスポーター WagonTransporter を優先度 -1.0 で使用する

[デバッグ] http://repository.tesla.io:8081/nexus/content/repositories/snapshots/に優先度 0.0 のコネクタ BasicRepositoryConnector を使用する

依存関係ツリー コマンドを実行すると、maven がポート 8081 で tesla.io リポジトリにアクセスしようとする理由が気になります。

このリポジトリをスキップするように指示する方法はありdependency:treeますか (または、タイムアウトを構成し、指定されたタイムアウト制限内に到達できないすべてのリポジトリをスキップするように指示する方法はありますか?)

dependency:treeが tesla リポジトリから読み取ろうとしている理由を追跡するにはどうすればよいですか?