バックグラウンド
私は日食の私のJavaファイルのserialVersionUIDのを生成するが、で説明したエラーを取得しようとしていますシリアルバージョンIDを生成できません:Eclipseを。私はその質問に方向性を踏襲しているが、私は何も見つからない、パスファイルを持っていないし、まだ同じエラーを取得します。また、私がしなければならない(一般的であるにも関わらず、ランダムに生成されたのserialVersionUIDを使用するだけで1Lを使用しても大丈夫、それは私のプロジェクトの要件であるため)。
問題
私の日食が非協力的であることされているので、私は、コマンドラインのソリューションをしようとしています。私が見つけたコマンド、serialverは、serialVersionUIDのを生成しません。よるとSerialVersionUIDを生成する方法を serialverをファイル内のserialVersionUIDを生成する必要があります。
- serialverコマンド
JDKには、自動的にserialVersionUIDのを生成するために、「serialver」というコマンドでビルドされています。この例では、AddressクラスのserialVersionUIDを生成するために、「serialver」を使用します。
E:\workspace\target\classes>serialver Address Address: static final long serialVersionUID = -687991492884005033L;
しかし、私はクラスのディレクトリ内の私のクラスの一つに、このコマンドを実行した端末は、このエラーを返しました:
Class Classname.java not found.
私はで入力した場合、このエラーは関係なく、与えられたserialver Classname
かserialver Classname.java
の端末に。私はまた、ファイルと同じディレクトリにそれを実行し、エラーが持続しました。
質問
どのように私は使用しないserialver
JavaファイルのserialVersionUIDを設定するために、Linuxのコマンドラインに?場合はserialver
、私が使用する必要があり、コマンド、コマンド(または一連のコマンド)適切な方法ではありませんでしょうか?
明確化
私は自分のファイルに生成され、割り当てられたserialVerionUIDを持つようにしたいコマンドラインから、のため、プログラム的なアプローチのJavaでプログラムのserialVersionUIDを生成する方法を?私が探していますものではありません。言い換えれば、私は私のファイルの先頭にコードのこのビットを生成するコマンドをしたいです:
private static final long serialVersionUID = <some random long>;
あなたは指定する必要があり-classpath
、コンパイル済みのクラス(例えばを含むディレクトリのためbin
)。クラスを参照するには、パッケージを含め、その完全修飾名を使用する必要があります-例えばのArrayListクラス
serialver -classpath bin java.util.ArrayList