我在Net Beans中使用Swing。我有我自己的jar,裏面包含類和方法。我將使用JAVA Reflection API調用這些類和方法,但在此之前,我想在運行時將我的Jar加載到類路徑中。我有一個J按鈕,並點擊,我得到罐子名稱和罐子路徑。但是我無法在運行時將Jar加載到類路徑中。有一些鏈接,但沒有幫助。請給我提供一個簡單的例子。我應該將我的jar加載到classpath中。這是我唯一的問題,我會照顧的。請幫忙。如何通過Java編碼在運行時將My Jar加載到ClassPath中?
回答
您可以通過使用ClassLoader
的加載在運行時類,看看URLClassLoader
例如
File yourJarFile = ...;
URLClassLoader classLoader = new URLClassLoader(new URL[]{yourJarFile.toURI().toURL()});
這一操作將允許您加載類和實例他們...
Class class = classLoader.loadClass("fully.qualified.packagename.to.your.AwesomeClass");
然後,您可以使用類似實例他們...
Object obj = class.newInstance();
或反射如果你想使用特定的構造函數。請記住,您將無法在當前類加載器上下文中直接引用這些類,因爲當前類加載器對它們一無所知
令人驚歎的......工作優秀....非常感謝你的精彩答案......但在'Class class = classLoader.loadClass(「fully.qualified.packagename.to.your.AwesomeClass」) ;」我們必須手動給出類名....但是想在運行時手動加載這個類,並且我也得到了使用此代碼的解決方案'JarFile jarFile = new JarFile(myJarFile.getAbsoluteFile());枚舉allEntries = jarFile.entries(); while(allEntries.hasMoreElements())JarEntry entry =(JarEntry)allEntries.nextElement(); ' – Sreepad 2015-02-13 08:01:25
這取決於你想要做什麼。當我這樣做時,我通常會做某種插件,所以我創建了一個text/xml,我可以使用getResource並配置我想要加載的入門類以開始使用 – MadProgrammer 2015-02-13 08:57:04
- 1. 如何在運行時將文件添加到Java Classpath?
- 2. 在運行時下載jar文件並將其添加到classpath中
- 3. 如何在運行時動態地將外部jar文件添加到ClassPath中?
- 4. 如何將jar添加到jconsole classpath中?
- 5. 將json jar添加到classpath java
- 6. 將庫添加到java,CLASSPATH,jar,linux
- 7. 如何在運行時將新的java文件加載到現有的Jar中?
- 8. 如何將hadoop jar添加到classpath?
- 9. 如何將非Maven jar添加到classpath?
- 10. 如何將jar文件添加到Classpath?
- 11. 如何將多個jar添加到classpath?
- 12. 通過代碼運行jar - Java
- 13. 如何通過ant爲java jar添加第三方庫到classpath中?
- 14. java通過cronjob運行jar
- 15. 通過Jenkins運行Java Jar
- 16. Classpath Databricks中的過時Jar
- 17. 編譯在CLASSPATH中有Jar的終端中的Java代碼
- 18. 運行jar,設置classpath
- 19. 加載從classpath中
- 20. 在運行時通過java加載java類
- 21. 如何在運行時將JavaScript代碼加載到html文件?
- 22. 在啓動時將jar文件添加到classpath中
- 23. Java:如何將jar外的.properties文件包含到classpath中?
- 24. 如何通過javac/java編譯/運行java代碼?
- 25. 如何在編譯java時更改-classpath
- 26. 如何通過URL添加外部jar ...使用.classpath?
- 27. 如何可靠地從classpath資源(在jar中)加載XMLCatalog?
- 28. 如何加載所有支持JAR在classpath中的Apache Ant的
- 29. 如何在運行時加載並初始化類/ jar/...,即使它不在classPath中?
- 30. 添加一個jar到maven exec:java classpath
您需要使用某種'Classloader',看看[ 'URLClassloader'](http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html)。只要記住,當你想要加載這些類時,你將需要使用這個類加載器來完成它,它不會通過你已經使用的默認類加載機制來實現。 – MadProgrammer 2015-02-12 05:41:41