Java Netbeans类路径问题

Java Netbeans类路径问题,java,netbeans,classpath,netbeans-7.1,Java,Netbeans,Classpath,Netbeans 7.1,我正在使用Netbeans 7.1.2,我正在尝试运行我的Java应用程序,其中主类尝试从不同的项目调用另一个主类 public class Main { public static void main(String[] args) { com.XXXX.XXXX.main.Main.main(new String [] { 当我试图在netbeans中设置类路径时,在项目属性中找不到库选项 我的项目中也没有库文件夹。那么现在我如何设置classpath来访问另一个项

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

public class Main {
    public static void main(String[] args) {
        com.XXXX.XXXX.main.Main.main(new String [] {
当我试图在netbeans中设置类路径时,在项目属性中找不到库选项

我的项目中也没有库文件夹。那么现在我如何设置classpath来访问另一个项目的主类呢


提前感谢,

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

但据我所知,你们有两个项目,你们正试图从第一个项目的主方法调用第二个项目的主方法

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

  • 第二步是开发第一个项目,并将第二个项目的jar as库添加到此项目中。一旦完成了,就只需要简单的编码了

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

第二个项目的主要方法(即将成为图书馆的方法)

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

下面是添加库项目后我的项目结构的外观


您需要将第二个项目构建为
jar
,并将主项目添加为
library
,然后您可以从
jar
调用
main
方法。第二个项目的jar文件已经在主项目的依赖项中。如果我cntrl+单击com.XXXX.XXXX.main.main,它会清楚地打开另一个项目的main方法,但当我尝试运行它时,仍然会发生java.io.FileNotFoundException异常。我只是注意到它正在调试模式下工作,而不是在运行模式下。。我不知道怎么做。
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);
    }