我的程序开发的时候一直使用的都是tomcat 6.0,现在项目结束了根据客户的要求转移到WebSphere 7.0上,但是已经搞了2天了还没有搞起来,一会提示找不到这个包,一会提示找不到那个包,而且提示的这些包都是我的项目中没有使用过的。
先后提示了如下这些包找不到,通常是找了这个了,它又提示另一个找不到。
org.apache.tiles.locale.impl.DefaultLocaleResolver
org.apache.velocity.runtime.resource.loader.ResourceLoader
org.apache.struts.actions.MappingDispatchAction
org.junit.internal.runners.model.ReflectiveCallable
groovy.lang.DelegatingMetaClass
项目使用的JDK是1.6,WebSphere 7.0 是在MyEclipse 8.5中启动的,由于MyEclipse的Server-WebSphere中没有WebSphere 7.0项,所以配置在了6.1中,配置的JDK使用的是它自带的JDK,也就是“D:\Program Files\IBM\WebSphere\AppServer\java”文件夹。
我首先在MyEclipse中把服务启动了,并把我项目打成了war包,在WebSphere的控制台安装的应用程序。
请各位帮帮忙吧!
------解决方案--------------------
那不要从 MyEclipse 中启动 WebSphere 7,反正你都是手工部署这个 EAR 的,
直接到 $WAS_INSTALL_ROOT/bin/startServer server1 -profileName xxx 来启动看看,
-profileName xxx 对于已经创建了默认的 profile 的情况下可以不需要指定。
因为你是配置的 MyEclipse 中的 WebSphere v6.1,但是用它来启动 WebSphere v7.0,最怕的是 MyEclipse 添加了 ws.ext.dirs 条目或其它跟类路径有关的参数。
如果你觉得手动启用的 WebSphere v7.0 让你不清楚如何在 MyEclipse 里面 debug,有两个选择。
1. 那就看看 MyEclipse 在 Debug ... 对话框中是否保留了 Eclipse 自带的 Remote Java Application,如果有,创建这么一个配置连接到一个不是通过 Eclipse 启动的远程 java 进程。WebSphere 的调试端口好像一直是 7777;然后找到 WebSphere v7 bin 里面某个 startServer.bat 或 setupCmdLine.bat 里面有个 debug option, 就是设置 -Xdebug...transport... (记不清楚了,就是 Java 调试的命令行参数,全行业标准的通用参数,不管什么厂商的都一样),原来好像是注释掉了,你把它还原出来,或者当命令行传递了一个你新加的 -debug 参数时就让它出现在 java.exe ...-Xdebug.... 中。
2. 启动了 WebSphere v7.0 之后,用一个进程浏览器,比如 Process Explorer (M$ 收购的,在 M$ 网站上有下载),来查看这个 WebSphere v7.0 对应的 java.exe 进程,把它完整的命令行参数拿出来,我们手工在 Eclipse 里面创建一个 Java Application 启动配置来模仿这个命令行,目标是让最后 Eclipse 生成的命令行跟 WebSphere v7 生成的命令行一样就可以了, 弄好了之后就直接在 Eclipse 里面把 WebSphere v7 当成一个普通的 main class 来运行吧,想调试那就跟你自己写的 main class 一样的用。