JARを介してソースなしで配布されるSDKを構築しています。すべてが機能しますが、インターフェイスクラスで使用する説明的な引数名はプロセスで失われます。
私のインターフェース:
package com.example;
public interface ExampleInterfaceClass {
/**
* Method documentation
* @param descriptiveParameter a parameter name I want included for anyone implementing this interface from a JAR
*/
public void DoSomething(int descriptiveParameter);
}
利用可能なソースを使用してこのインターフェイスを実装すると、「descriptiveParameter」は「descriptiveParameter」として適切に自動生成されます。
public class ExampleImplementor implements ExampleInterfaceClass {
@Override
public void DoSomething(int descriptiveParameter) {
// TODO Auto-generated method stub
}
}
ただし、コンパイルされたJARから実装すると、パラメーターは「arg0」として自動生成されます。
public class ExampleImplementFromJAR implements ExampleInterfaceClass {
@Override
public void DoSomething(int arg0) {
// TODO Auto-generated method stub
}
}
このような質問を通じて、多くの解決策が提案されています。コンパイルされたJavaクラスでパラメーター/引数の名前を保持しますが、1。説明的なパラメーターをJARに含め、2。他のクラスからソースを非表示にするソリューションにはヒットしません。 。Eclipseエクスポートを介してJARファイルにインターフェースファイルのみからのソースを含める方法はありますか?そうでない場合、ソースオブジェクトのサブセットを使用してJARを作成する次の最も簡単な方法は何ですか?