1
我正在寫一個maven插件,需要獲取另一個java項目的類路徑。我想知道是否有可能從我當前的java項目中獲得另一個java項目的類路徑? 在此先感謝如何獲得另一個java項目的classpath?
我正在寫一個maven插件,需要獲取另一個java項目的類路徑。我想知道是否有可能從我當前的java項目中獲得另一個java項目的類路徑? 在此先感謝如何獲得另一個java項目的classpath?
如果「另一個Java項目」是指「那declears插件項目」,這裏就是我的回答:
你需要從插件創建新的類加載器:
List classpathElements = project.getCompileClasspathElements();
classpathElements.add(project.getBuild().getOutputDirectory());
classpathElements.add(project.getBuild().getTestOutputDirectory());
URL urls[] = new URL[classpathElements.size()];
for (int i = 0; i < classpathElements.size(); ++i) {
urls[i] = new File((String) classpathElements.get(i)).toURL();
}
return new URLClassLoader(urls, this.getClass().getClassLoader());
與新的類加載器,您可以使用項目類執行某些操作(加載類,反射,生成代碼)
hibernate3-maven-plugin使用相同的技巧來生成項目註釋類的映射
獲取「另一個java項目的類路徑」在Maven中沒有意義。描述你真正想做什麼(即*你需要什麼*信息,以及*你打算怎麼做)。 – parsifal