我有一个Java程序,它使用来自apache commons的StringUtils jar。我们有commons-lang 2.4.jar,它包含StringUtils类文件。目前我们正在尝试将我们的应用程序从WAS 6.1迁移到WAS 7.当我们尝试这样做时,我们有一个StringUtils类文件,它是WAS 7的JPA插件的一部分。在我们项目的构建路径中,我们还提供了WAS 7库以及它必须查找类文件的位置。 Commons-lang2.4 jar和WAS 7的JPA插件jar中的StringUtils类文件有两个不同的版本。默认情况下,Workspace采用WAS 7的JPA插件。由于我们的代码已经使用了commons-lang2.4.jar,因此我们面临着某些编译错误。所以现在我需要覆盖我的工作区的这种行为(而不是R
答案 0 :(得分:3)
IBM WAS StringUtils类为com.ibm.btt.utils.StringUtils
,Apache Commons类为org.apache.commons.lang.StringUtils
。如果同时插入两者,则必须使用类的完全限定名称。如果您只在代码中导入一个Apache commons,那么它应该只使用它。
答案 1 :(得分:0)
据我所知,java类加载器通过当前CLASSPATH的所有条目搜索特定的类,并获取找到的第一个类。 所以,如果你想从apache commons使用StringUtils,你必须首先在CLASSPATH中放置commons-lang jar文件。这应该可以解决你的问题。