小编Dav*_* G.的帖子

如何在EAR中的jar和共享库之间的Websphere Liberty Profile中获取类加载器可见性

我正在尝试在Websphere Liberty Profile(最新版本16)中使用一些遗留代码.

这段代码以一组架构的库的形式出现,我将其设置为WLP中的共享库,以及作为EAR的应用程序

我遇到一个问题,其中一个库中的jar中的某些代码试图实例化一个位于EAR内部的类(在lib文件夹中的jar中).

我得到这个堆栈跟踪:

Caused by: java.lang.ClassNotFoundException: com.isb.holamu.fnegocio.ln.AAL_FNegocioFactory <-- This class (1) is inside a .jar inside the EAR
       at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:491)
       at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:274)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:469)
       at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:441)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Unknown Source)
       at com.isb.bs.bl.base.MetaFacadeFactory.createFactoryInstance(MetaFacadeFactory.java:74) <-- This class (2) is in the shared library in WLP.
Run Code Online (Sandbox Code Playgroud)

这些是来自server.xml的相关位:

   <!-- Server shared library -->

   <library id="architecture" >
         <fileset dir="${server.config.dir}/lib/jars" includes="*.jar" scanInterval="5s"/>  <-- (2) is here

   </library>

   <enterpriseApplication autoStart="true" id="sample" location="sample.ear" name="sample"> <-- (1) is …
Run Code Online (Sandbox Code Playgroud)

java ear classloader java-ee websphere-liberty

1
推荐指数
1
解决办法
2783
查看次数

在unix中输出变量,新行为\n

我需要在unix脚本中将变量值输出到文件.我的问题是变量包含多行.我需要在文件中输出'\n'文字(java选项文件),但我使用echo并且它们总是被处理成真正的新行.

echo "-dmyproperty=$MULTILINE_VAR" >> jvm.options
Run Code Online (Sandbox Code Playgroud)

我已经尝试了像-eo -E这样的echo选项,但它们似乎没有做任何事情.有人可以帮忙吗?

unix linux bash shell ubuntu

1
推荐指数
1
解决办法
59
查看次数

标签 统计

bash ×1

classloader ×1

ear ×1

java ×1

java-ee ×1

linux ×1

shell ×1

ubuntu ×1

unix ×1

websphere-liberty ×1