我正在使用JBoss編寫應用程序服務器。該應用程序由Maven編譯並打包爲WAR。現在我想要將某些類進行外部化。我創建了另一個Maven項目,它被打包成JAR。將JAR文件添加到web-inf/lib文件夾中,但不將其包含在pom.xml中
我相信JAR具有正確的目錄樹。它包含一個META-INF
目錄和作爲目錄的包結構,類文件位於該目錄中。
我在網上閱讀到,我可以將這個JAR添加到應用服務器中,方法是將其放入src\main\webapp\WEB-INF\lib
,而不必在應用服務器的pom.xml中進一步提及它(在某些時候,這些JAR應該是插件,因此添加依賴項在pom.xml中不是一個選項)。
當我編譯服務器時,JAR會被正確複製到WEB-INF\lib
下的WAR以及其他外部依賴項。但是,當我嘗試在應用程序服務器中使用這個類時(寫一個import
這樣的類的聲明就夠了),maven會抱怨它找不到這個類。
我試圖在網上找到信息,但我能找到的就是這是它要完成的方式。
有誰知道我可以進一步尋找線索哪裏出了問題?
這只是有道理。然而,我該如何處理「插件」,即只需放在某個地方的類,而服務器只需要重新部署呢?你的答案是否意味着這樣做沒有「乾淨」的方式? – bobbel
您可以將您的依賴項的範圍更改爲「提供」,以免它被打包到.war中 –
如果我沒有錯,我認爲這是另一個問題。可能我想要一個自定義的ClassLoader,它可以通過自定義添加的jar來執行任何需要的操作。 – bobbel