[英]How can I determine the entry point of Java applet from its JAR file?
[英]How to create dynamic jar file to get access of multiple classes and its methods from an entry point(main) without importing in java?
我想從入口點(主)訪問一個或多個類而不導入包。 例如:
package com.ank.dynamicJarFileCreation;
public class revDemo {
public static int reverseNumber(int n)
{
int rem,rev=0;
while(n>0)
{
rem=n%10;
rev=rev*10 + rem;
n=n/10;
}
return rev;
}
}
上面是revDemo
類,我想從下面的入口點訪問上面的reverseNumber(int n)
方法。 例如:
public class revCall {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
int n=485154;
System.out.println(revDemo.reverseNumber(n));
或者通過這種方式。
Class cls = Class.forName("reverseDemo");
Object obj = cls.newInstance();
System.out.print("Class Name"+cls.getName());
Object obj = null; //It is a object of -> com.ank.dynamicJarFileCreationo
System.out.println(((com.ank.dynamicJarFileCreation)obj).reverseNumber(n));
}
}
您非常接近自己的解決方案。 實際上,您是使用Class.forName()和newInstance()函數動態創建所需類的實例的。
下一步是通過方法名稱(例如reverseNumber)從Class中獲取Function,並使用創建的revDemo實例執行該功能。
Class revDemoClazz = Class.forName("com.ank.dynamicJarFileCreation.revDemo");
Object revDemoObj = revDemoClazz.newInstance();
Method reverseNumberMethod = revDemoClazz.getMethod("reverseNumber", Integer.class);
reverseNumberMethod.invoke(revDemoObj, 12345);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.