2
Maven陰影插件忽略Strings中的類/包名稱,這是Java反射的典型特徵。 如果試圖「遮蔽」的庫使用Class.forName(「originalpackagename ....」),則陰影依賴項將無法工作,因爲原始包名稱將保持不變。 相同的故事,類似的代碼Maven陰影插件用於處理java反射的變換器
servlet.addServletWithMapping("org.mortbay.jetty.servlet.DefaultServlet",
URIUtil.SLASH);
使事情更糟:
private String[] _serverClasses = {
"-org.mortbay.jetty.plus.annotation.", // don't hide
"-org.mortbay.jetty.plus.jaas.", // don't hide
"-org.mortbay.jetty.plus.naming.", // don't hide
"-org.mortbay.jetty.plus.jaas.", // don't hide
"-org.mortbay.jetty.servlet.DefaultServlet", // don't hide
"org.mortbay.jetty.",
"org.slf4j."
};
(從碼頭服務器的源代碼複製實例)
也許有一些ResourceTransformer已經可用於Maven的陰影,它取代了字符串源代碼中的原始包/類名稱?