如何从命令行生成 Java 文件的串行版本 UID?
How do I generate the serial version UID of a Java file from command line?
背景
我正在尝试在 eclipse 中生成我的 java 文件的 serialVersionUID,但收到 Eclipse : Cannot generate a serial version ID. I have followed the directions in that question, but I have no missing path files and still get the same error. In addition, I must use a randomly generated serialVersionUID (even though it is generally 中描述的错误,因为这是我的项目的要求。
问题
由于我的eclipse 不合作,我正在尝试命令行解决方案。我发现的命令 serialver, does not generate a serialVersionUID. According to How to generate SerialVersionUID serialver 应该在文件中生成一个 serialVersionUID:
- serialver command
JDK has a build in command called “serialver” to generate the
serialVersionUID automatically. In this example, you use “serialver”
to generate a serialVersionUID for Address class.
E:\workspace\target\classes>serialver Address Address: static final
long serialVersionUID = -687991492884005033L;
但是,我 运行 在 class' 目录中的一个 classes 上执行此命令,终端返回此错误:
Class Classname.java not found.
无论我在终端中输入 serialver Classname
还是 serialver Classname.java
,都会出现此错误。我也 运行 它与文件位于同一目录中,但错误仍然存在。
问题
如何在 Linux 命令行中使用 serialver
来设置 Java 文件的 serialVersionUID?如果 serialver
不是我应该使用的命令,哪个命令(或一系列命令)是正确的方法?
澄清
我想在我的文件 中从命令行 生成并分配 serialVerionUID,因此 How to generate serialVersionUID programmatically in Java? 的编程方法不是我想要的。换句话说,我希望命令在我的文件顶部生成这段代码:
private static final long serialVersionUID = <some random long>;
您需要运行 serialver
在包含编译的.class 文件的目录中,并指定class不带扩展名的名称(类名,而不是Classname.java).
您可能需要为包含编译的 classes 的目录指定 -classpath
(例如 bin
)。要引用 class,您必须使用其完全限定名称,包括包——例如对于数组列表 class
serialver -classpath bin java.util.ArrayList
背景
我正在尝试在 eclipse 中生成我的 java 文件的 serialVersionUID,但收到 Eclipse : Cannot generate a serial version ID. I have followed the directions in that question, but I have no missing path files and still get the same error. In addition, I must use a randomly generated serialVersionUID (even though it is generally
问题
由于我的eclipse 不合作,我正在尝试命令行解决方案。我发现的命令 serialver, does not generate a serialVersionUID. According to How to generate SerialVersionUID serialver 应该在文件中生成一个 serialVersionUID:
- serialver command
JDK has a build in command called “serialver” to generate the serialVersionUID automatically. In this example, you use “serialver” to generate a serialVersionUID for Address class.
E:\workspace\target\classes>serialver Address Address: static final long serialVersionUID = -687991492884005033L;
但是,我 运行 在 class' 目录中的一个 classes 上执行此命令,终端返回此错误:
Class Classname.java not found.
无论我在终端中输入 serialver Classname
还是 serialver Classname.java
,都会出现此错误。我也 运行 它与文件位于同一目录中,但错误仍然存在。
问题
如何在 Linux 命令行中使用 serialver
来设置 Java 文件的 serialVersionUID?如果 serialver
不是我应该使用的命令,哪个命令(或一系列命令)是正确的方法?
澄清
我想在我的文件 中从命令行 生成并分配 serialVerionUID,因此 How to generate serialVersionUID programmatically in Java? 的编程方法不是我想要的。换句话说,我希望命令在我的文件顶部生成这段代码:
private static final long serialVersionUID = <some random long>;
您需要运行 serialver
在包含编译的.class 文件的目录中,并指定class不带扩展名的名称(类名,而不是Classname.java).
您可能需要为包含编译的 classes 的目录指定 -classpath
(例如 bin
)。要引用 class,您必须使用其完全限定名称,包括包——例如对于数组列表 class
serialver -classpath bin java.util.ArrayList