gpt4 book ai didi

Java Netbeans 类路径问题

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

我正在使用 Netbeans 7.1.2,我正在尝试运行我的 Java 应用程序,其中 Main 类尝试从不同项目调用另一个 Main 类,

public class Main {
public static void main(String[] args) {
com.XXXX.XXXX.main.Main.main(new String [] {

当我尝试在 netbeans 中设置类路径时,我在项目属性中找不到库选项。

enter image description here

我的项目中也没有库文件夹。那么现在如何设置类路径来访问其他项目的主类。

提前致谢,

最佳答案

您尝试从不同类调用 main 方法的方式不正确,我想这就是它不起作用的原因。另一件事是,您的问题不是很清楚,从您的代码来看,您似乎正在尝试调用同一个类的 main 方法。

但据我了解,您有两个项目,并且您正在尝试从第一个项目的主方法调用第二个项目的主方法。

  • 第一步是将您的第二个项目构建为 jar 文件。然后关闭这个项目并忘记它。

  • 第二步是开发您的第一个项目并将第二个项目的 jar 作为库添加到该项目中。一旦完成,这只是简单的编码。

下面是实现该功能的代码片段。

第二个项目的主要方法(将成为库的方法)

public class second {

public static void main(String[] args) {
System.out.println("This statement comes from the main method in the jar .");
System.out.println("total params passed are: " + args.length);
for (String string : args) {
System.out.println("param is: " + string);
}
}
}

第一个项目的主方法(将调用库的主方法的方法)

public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {

System.out.println("This statement is from main method in the program.");


/**
* This is the class name. and it needs to be correct.
* You do not need to mention project name or library name.
* newpackage is a package in my library and second is a class name in that package
*/
final Class _class = Class.forName("newpackage.second");

//here we mention which method we want to call
final Method main = _class.getMethod("main", String[].class);

//this are just parameters if you want to pass any
final String[] params = {"one", "two", "three"};

try {
//and finally invoke the method
main.invoke(null, (Object) params);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
Logger.getLogger(JavaApplication2.class.getName()).log(Level.SEVERE, null, ex);
}

下面是添加库项目后我的项目结构的样子

关于Java Netbeans 类路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308089/

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