我想问一下,是否有可能用于打包的战争,使用未包含在war文件中的库。我希望文件系统上的目录包含库,部署的war文件将从该目录加载库。我还没有找到如何做到这一点的例子。所以我想问一下所有已部署的战争所使用的库是否必须打包在war文件的lib目录中,或者是否。
答案 0 :(得分:4)
那么,根据您的应用程序服务器,您可以向其中添加一些配置(应用程序服务器),在其中将某些本地目录声明为类路径的一部分。这样,您放在该目录中的任何jar文件都可用于该应用程序服务器中的已部署应用程序(wars)。
以下是一些简单的例子:
对于tomcat你编辑[tomcatDIr] \ conf \ catalina.properties并将属性server.loader和shared.loader添加到dir的完整路径,你要保留外部库
server.loader = $ {的catalina.home} /服务器/类,$ {的catalina.home} /服务器/ lib中/ *罐子,C:/ BLA / myExternalLibsDir
shared.loader = $ {的catalina.home} /服务器/类,$ {的catalina.home} /服务器/ lib中/ *罐子,C:/ BLA / myExternalLibsDir
对于jboss,你可以简单地编辑[jbossDir] \ bin中的run.bat文件,查找设置jboss类路径的行,并添加它的值你的目录:
设置JBOSS_CLASSPATH =%RUN_CLASSPATH%; c:/ bla / myExternalLibsDir