如何在WebSphere中创建共享库以共享JAR文件



我可以从日志文件中看到类路径为

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路径和/WEB_INF/class路径中的一些类文件中有一些JAR文件。

/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,它将进入propiles/appsrv01,并且在该位置的" installedApps"目录中,应用程序二进制文件在该位置。

也就是说,指向您共享库中的应用程序二进制文件是一个非常糟糕的主意。如果您不希望该罐子由战争类装载器加载,请从那里拿出来,然后将其放在其他地方。我会注意到,我不完全理解您为什么将其放入共享库中(与什么相互冲突?),所以也许有些澄清也会有所帮助。

在WebSphere中您可以创建共享库,以在不同应用程序之间本地化或共享依赖关系。这是IBM帮助文档。如果您需要相同的帮助,请添加评论或收件箱。

https://www.ibm.com/support/knowledgecenter/en/ssaw57_8.5.5/com.ibm.m.websphere.nd.doc/ae/tcws_sharedlib.html.html

,您应该记住,两种类型的文件(服务器共享库和应用程序lib)最终都将进入类路径,以供您阅读。如果您在任何组合中提供两个不同的版本,它总是可以产生歧义。

最新更新