我可以从日志文件中看到类路径为
was.install.root = /IBM/WebSphere/AppServer
user.install.root = /IBM/WebSphere/AppServer/profiles/AppSrv01
Java Home = /IBM/WebSphere/AppServer/java/8.0/jre
ws.ext.dirs = /IBM/WebSphere/AppServer/java/8.0/lib:/IBM/WebSphere/AppServer/profiles/AppSrv01/classes:/IBM/WebSphere/AppServer/classes:/IBM/WebSphere/AppServer/lib:/IBM/WebSphere/AppServer/installedChannels:/IBM/WebSphere/AppServer/lib/ext:/IBM/WebSphere/AppServer/web/help:/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime
Classpath = /IBM/WebSphere/AppServer/profiles/AppSrv01/properties:/IBM/WebSphere/AppServer/properties:/IBM/WebSphere/AppServer/lib/startup.jar:/IBM/WebSphere/AppServer/lib/bootstrap.jar:/IBM/WebSphere/AppServer/lib/jsf-nls.jar:/IBM/WebSphere/AppServer/lib/lmproxy.jar:/IBM/WebSphere/AppServer/lib/urlprotocols.jar:/IBM/WebSphere/AppServer/deploytool/itp/batchboot.jar:/IBM/WebSphere/AppServer/deploytool/itp/batch2.jar:/IBM/WebSphere/AppServer/java/8.0/lib/tools.jar
Java Library path = /IBM/WebSphere/AppServer/lib/native/linux/x86_64/:/IBM/WebSphere/AppServer/java/8.0/jre/lib/amd64/compressedrefs:/IBM/WebSphere/AppServer/java/8.0/jre/lib/amd64:/IBM/WebSphere/AppServer/bin:/IBM/WebSphere/AppServer/nulldllsdir:/usr/lib64:/usr/lib:
Orb Version = IBM Java ORB build orb80-20170207.00
我在应用程序服务器的 /WEB-INF/lib
路径中有一些 jar 文件,在 /WEB_INF/class
路径中有一些类文件。
在 /WEB_INF/lib
路径中,我有以下 jar 文件。
aopalliance-1.0.jar
commons-io-1.4.jar
jcl-over-slf4j-1.6.1.jar
spring-aop-4.2.5.RELEASE.jar
spring-expression-4.2.5.RELEASE.jar
bcprov-jdk16-1.46.jar
freemarker-2.3.16.jar
log4j-1.2.14.jar
spring-beans-4.2.5.RELEASE.jar
spring-web-4.2.5.RELEASE.jar
commons-codec-1.4.jar
ibmpkcs-8.0.jar
slf4j-api-1.6.1.jar
spring-context-4.2.5.RELEASE.jar
spring-webmvc-4.2.5.RELEASE.jar
commons-fileupload-1.2.2.jar
javassist-3.19.0-GA.jar
slf4j-log4j12-1.6.1.jar
spring-core-4.2.5.RELEASE.jar
我想将 javassist-3.19.0-GA.jar
移动到共享库以避免类冲突。我已阅读 IBM 的在 WebSphere 中配置和添加共享库的步骤。现在我想知道我应该在共享库路径中写什么?是类似 ${WAS_INSTALL_ROOT}/WEB_INF/lib/javassist-3.19.0-GA.jar
吗?我应该从/lib 路径中删除 javassist-3.19.0-GA.jar
吗?
最佳答案
$WAS_INSTALL_ROOT 将使您到达/IBM/WebSphere/AppServer;使用默认服务器变量最接近的应用程序二进制文件是 $USER_INSTALL_ROOT,它将进入 profile/AppSrv01,应用程序二进制文件位于该位置的“installedApps”目录中。
也就是说,指向共享库中的应用程序二进制文件是一个非常糟糕的主意。如果您不希望 WAR 类加载器加载该 jar,请将其从那里取出并放在其他地方。我要指出的是,我不完全理解为什么你要把它放入共享库(它与什么冲突?),所以也许一些澄清也会有所帮助。
关于java - 如何在WebSphere中创建共享库来共享jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46294269/