0

我想在 .Net 中使用(Javonet)并从 https://github.com/Javonet/dotnet-devs-samples/tree/master/FirstDotNetConsoleApp下载样本

编译器抛出“初始化 JVM 失败”。例外。 我该如何解决?

    /// This sample shows how to create instance of Java class, call methods and get/set fields.

    static void Main(string[] args)
    {
        Console.WriteLine("Activating Javonet...");
        //You can obtain your free trial key at: https://my.javonet.com/signup/ 
        //Check more at http://www.javonet.com
        JavonetBridge.Javonet.Activate("your@mail.com", "your-license-key",
            @"C:\Program Files (x86)\Java\jdk1.8.0_144");

        JavonetBridge.Javonet.AddReference(@"SampleJavaJar.jar");

        //Creating instance of Java class
        var sampleClass = JavonetBridge.Javonet.New("SampleJavaClass");

        //Calling instance methods
        String res = sampleClass.Invoke("SayHello", "Student");
        Console.WriteLine("Java method 'SayHello' returned: " + res);
        //Setting fields
        sampleClass.Set("numberA", 4);
        sampleClass.Set("numberB", 8);
        //Getting fields
        var a = sampleClass.Get("numberA");
        Console.WriteLine("Field 'numberA' has value: " + a);
        var b = sampleClass.Get("numberB");
        Console.WriteLine("Field 'numberB' has value: " + b);
        //Calling instance methods with int result
        int result = sampleClass.Invoke("SumAandB");
        Console.WriteLine("Sum of A and B is: " + result);
        //Calling method passing int arguments
        int multiplyResult = sampleClass.Invoke("Multiply", 10, 4);
        Console.WriteLine("Result of multiplying 10 and 4 is: " + multiplyResult);
        Console.WriteLine("\n\nCongratulations! You just called Java from .NET. Easy, isn't it?");
        Console.ReadLine();
    }
}

}

4

1 回答 1

0

我下载了 32 位 jdk1.8.0_291 并解决了问题。

于 2021-09-09T23:07:59.970 回答