将javaclass转成jar作为外部库使用

Convert java class to jar and use it as external library

我目前正在研究安全加密算法。我找到了我需要的 java 实现,所以为了不再发明轮子,我想将算法 class 转换为 jar,然后将其作为外部库导入到我的项目中。

我试过:

jar -cvf result.jar class.class

它创建了一个 .jar 文件,但是一旦我尝试在 Intellij File>Project Structure>Libraries>+ 中使用它并且在使用它之后,它在代码中无法识别它的给定名称(local.java.algorithm).

最后我想做的是:simple java class > jar > add to project as external library > use it in code

如何让这个jar可以被IDEA识别?

当您创建包含 classes 的 JAR 文件时,JAR 文件的结构需要反映包名称结构。

例如,如果您有一个名为 MyClass.java 的 class,其内容如下所示:

package local.java.algorithm;
// imports
public class MyClass ... {
}

您将其编译为目录 local/java/algorithm 中的 MyClass.class。然后 JAR 文件的结构需要是:

/
/local
/local/java
/local/java/algorithm
/local/java/algorithm/MyClass.class

我怀疑你真的是这样创建的:

/
/MyClass.class

这意味着 Intellij(或 javac 或其他任何东西)将无法解析

import local.java.algorithm.MyClass;

在编译时或在运行时。