我有一個Eclipse項目(MainProject),它引用了另一個Eclipse項目(ReferencedProject)。 MainProject也引用一個JAR文件(ReferencedJar)。這個ReferencedJar的文件名是已知的。我也知道ReferencedJar中有一個類(ReferencedClass),但我不知道ReferencedClass包是什麼,因爲事先不知道包的路徑。如何在不知道包的情況下實例化一個類?
我需要使用反射在ReferencedProject中實例化ReferencedClass。我怎樣才能做到這一點?當項目打包到Eclipse之外的獨立jar時,解決方案是否可行?
這個問題的原因是; ReferencedJar是由建模器應用程序生成的文件。它爲您的模型生成Java類並將它們放入ReferencedJar中。用戶可以選擇將其生成的類放入哪個包中。但類名永遠是一樣的。 MainProject是包含這個生成的jar的項目,但ReferencedProject(一個框架)也需要在這個生成的jar中實例化一個類。希望這可以讓問題更清楚。
在此先感謝
編輯:其實我有一個想法,但不知道如何實現它。因爲我知道ReferencedJar文件的名稱,所以我可以在運行時訪問它並檢查它包含的所有類。然後我可以通過名稱比較找到匹配的類。但是我怎樣才能在運行時訪問ReferencedJar?
如果你在控制進程,並在已知位置列出完全限定的ReferencedClass名稱 – MadProgrammer
的某種配置文件,可惜我不是。我無法修改Modeller應用程序的代碼。 – randomVariable