gpt4 book ai didi

java - 如何使用 JAR 文件中的外部类作为我的程序中的类之一?

转载 作者:行者123 更新时间:2023-12-01 11:06:39 26 4
gpt4 key购买 nike

所以我只是在考虑用户插件的想法。我编写了一个简单的类来打印字符串。然后我编写了一个接口(interface),它需要一个方法来编辑该字符串。现在,我希望用户能够将 Jar 文件插入到文件夹(与程序打包在一起)中,并且我的程序将其读入,并将其用作实现我创建的接口(interface)的类。所以基本上我正在寻找一种读取 jar 文件内容的方法,并将其类用作我的程序类之一。对于任何不正确的术语提前表示歉意,我对此很陌生。如果这是解决问题的错误方法,请告诉我,我愿意接受更好的方法。谢谢!

类别:

public class Project {
static String message = "default message";
public static void main(String args[]) {
System.out.println(message);
}
}

界面:

public interface Mod {
void modifyText(String moddedMessage);
}

用户插件

public class UserMod implements Mod {

public void modifyText(String moddedMessage) {
moddedMessage = "New Message";
Project.message = moddedMessage;

}

}

最佳答案

如果我错了,请纠正我,但您只是想使用 .jar 文件中的外部 java 类?

如果是这种情况,您应该简单地在程序中使用它,然后在编译时将它的 jar 引用到 java 编译器(考虑到没有提到的类的打包,因为您没有指定任何一个 -请参阅 Java packages - 如果有包,您将需要导入 UserMod 类或使用它的完全限定名称)。例如:

public class Project {
static String message = "default message";
public static void main(String args[]) {
String newMessage = "new message";
UserMod userMod = new UserMod();
userMod.modifyText(newMessage());
System.out.println(message);
}
}

然后,在命令行上编译并运行:

javac -cp UserMod.jar Project.java
java Project

编辑:你说你正在使用 eclipse。那么应该会更容易。右键单击该项目将显示上下文菜单。单击属性,然后转到 Java 构建路径 > 库。您可以添加 jar 文件或类文件夹。取自here .

但是,您可以简单地要求用户将要打印的文本作为参数传递给程序,如下所示(args 数组只是作为参数传递给程序的字符串数组):

public class Project {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("No parameters. Please give me something to print!!");
} else {
for (String parameter : args) {
System.out.println(parameter);
}
}
}
}

然后,使用您喜欢的任何参数编译并运行它:

javac Project.java
java Project "new message"
>> new message

关于java - 如何使用 JAR 文件中的外部类作为我的程序中的类之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32879530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com