如何在Jar文件中运行 类?

How to run classes inside Jar file?

我创建了一个启动应用程序的 jar 文件,以允许用户select他们想要运行的测试。每个测试都有自己的 class 和 main 方法。 UI 应用程序将参数传递给表示测试的 class 的主要方法。

我能够为 UI 应用程序创建可执行 JAR 文件,但是当我 select 我想要 运行 的测试时没有任何反应。我认为是JAR文件只能处理一个主要方法。

下面是允许用户 select 测试 运行 的应用程序代码的一部分。

public class UI extends JFrame {

    String[] args={Environment, Browser, TestingCoverage, DBLog, "UI"};

    if (chckbxEQ_CA_Home.isSelected())
    {   
        EQ_CA_Home.main(args);      
    }

    if (chckbxEQ_CA_Condo.isSelected())
    {               
        EQ_CA_Condo.main(args);
    }

    if (chckbxEQ_CA_Renter.isSelected())
    {   
        EQ_CA_Renter.main(args);
    }
}       

您可以使用 Junit 库来做到这一点。

JUnitCore junit = new JUnitCore();
Result res = junit.run(yourTestClass);

不要调用 main() 方法以避免任何可能的中断,只需让 JUnitcore 找到合适的测试方法。

并且不要忘记将 Junit.jar 包含在类路径中(或)将其作为 jar 文件的一部分(作为胖 jar)包含。