Eclipse+Websphere配置说明


 

目录

 

一、        前言... 3

二、        安装webSphere.. 3

2.1.    安装WAS.. 3

2.2.    配置WAS日志输出方式... 5

三、        eclipse配置... 6

3.1.    下载purchaseEAR工程... 6

3.2.    eclipse中配置websphere.. 7

3.3.    部署purchaseEAR.. 8

3.4.    eclipse启动websphere.. 9

3.5.    修改eclipse部署方式... 10

四、        webSphere配置... 11

3.1.    部署工程... 11

3.2.    支持jdk1.5.. 13

五、        注意事项... 14

4.1.    JSP注意事项... 14

4.2.    webSphere注意事项... 15

5. eclipse常见问题

 


 

一、            前言

本文档用于描述开发青海集采系统过程中使用eclipse+websphere的配置过程。

工程环境:

Jdk1.5

Myeclipse6.0以上

Websphere6.1

TortoiseCVS

二、            安装webSphere

1.         

2.         

2.1.        安装WAS

l  解压was.cd.6100.trial.base.windows.ia32.zip,运行launchpad.exe

 

l  选择启动 WebSphere Application Server - Trial 的安装向导。

一路“下一步”,提示输入登陆控制台的用户名密码。

1.png

 

l  继续“下一步”直到完成安装。安装完成之后默认会启动“第一步”,如图:

2.png

 

l  选择“安装验证”,如果安装正常会显示如下信息,此时websphere服务已经被启动。

3.png

2.2.         配置WAS日志输出方式

l  输入:http://localhost:9060/admin进入webpshere管理平台,如果能看到如下页面,说明websphere正常启动了。填写你设置的用户名密码。

4.png

 

l  为了方便在ecilpse控制台中看到日志信息,所以要设置log信息输出到控制台(默认情况下log是输出到文件中)。 选择服务器à应用程序服务器àserver1à记录和跟踪àJVM日志,System.outSystem.err下的“文件名”的值修改为“console

5.png

 

l  在“第一步”控制台中选择“停止服务器”,接下来我们使用eclipse来操作webpshere

三、            eclipse配置

3.         

3.1.        下载purchaseEAR工程

下载说明请参考《eclipse操作说明.doc》,一路next即可。 purchaseEAR是一个Enterprise Application Project,用于生成EAR包。因为websphere只能以EAR包的方式部署应用程序。 (一个Enterprise Application Project必须包含一个Web Application Project 或者一个 EJB Application Project,在集采项目中purchaseEAR包含了一个Web Application Project purchase。)

l  使用eclipse下载之后发现工程名称前面有一个“>”标记,表示本地代码与CVS不同步。如图:

 

6.png

l  因为eclipse在创建工程是修改了.mymetadata文件,但是没有改变任何内容。用TortoiseCVS更新一下.mymetadata,即可实现完全同步,如图:

7.png

l  eclipse中右击purchaseEAR 选择Refresh,刷新工程,此时purchaseEAR就完全同步了

8.png

3.2.        eclipse中配置websphere

l  选择windowà preferencesàMyEclipseàApplication ServersàWebSphereà

WebSphere 6.1,WebSphere home directory中选择你的websphere安装目录,

下文中涉及到websphere安装目录均用“WAS_HOME”表示,如果目录正确,其他的内容会自动填充。选择Enable选项。

9.png

l  设置websphereJDK,选择WAS_HOME下的JDK

10.png

3.3.        部署purchaseEAR

点击部署按钮,选择purchaseEAR工程,Add添加服务器

Deploy type中提供了两种方式部署:Exploded Archive Packaged Archive,以Exploded Archive方法部署,可以实现eclipse调试。但不能打成ear包。以Packaged Archive方式部署,整个工程会以打成ear包的方式进行部署,此时eclipse无法进行调试。所以我们先用Packaged Archive方式生成ear包,在WAS部署完成之后,再以Exploded Archive方式重新部署,实现eclipse调试。选择Packaged Archive点击ok。此时会在WAS_HOME\ profiles\AppSrv01\installableApps下创建一个purchaseEAR.ear包。如图:

11.png

3.4.        eclipse启动websphere

点击启动服务按钮,选择websphere6.1,选择start。如果以上配置正确,eclipse控制台会打印出webspherelog信息。当看到为“电子商务开放服务器“时,表示服务已启动。

12.png

13.png

3.5.        修改eclipse部署方式

在看本小节请先阅读四、webSphere配置。以Exploded Archive方式重新部署。

l  首先删除已有的部署,如图:选择Remove

14.png

l  选择Add,然后选择Exploded Archive方式,由于文件已经存在,eclipse会提示你如何处理已存在的文件,我们可以选择后两个删除,或者覆盖。点击Finish完成部署。如图:

15.png

l  最后登陆WAS控制台,启动purchaseEAR服务。至此可以使用eclipse调试WAS下的应用程序了。

四、            webSphere配置

1.         

2.         

3.         

4.         

4.1.        部署工程

l  登陆was控制台,选择“应用程序”à“安装新的应用程序”à在“完整路径”下选择WAS_HOME\ profiles\AppSrv01\installableApps\purchaseEAR.ear。点击下一步。

 

l  选择启用类重新装入,即实现类的热加载,下一步。

16.png

 

l  PURCHASE前面打上“”,下一步。

17.png

l  PURCHASE前面打上“”,下一步。

18.png

l  点击完成之后,点击保存到主配置。    

19.png

l  保存完成之后,进入应用程序à企业应用程序,你会发现此时多了一个应用程序purchaseEAR。应用程序状态是红色的叉号,表示该应用尚未启动。先不要启动应用。等所有配置完成后在启动。

4.2.        支持jdk1.5

修改配置文件使jsp支持JDK1.5。默认情况下was编译jsp时不支持jdk1.5。修改WAS_HOME\profiles\AppSrv01\config\cells\主机名\applications\purchaseEAR.ear\

deployments\purchaseEAR\purchase.war\WEB-INF\ibm-web-ext.xmi文件,添加下面一段

 

<jspAttributes xmi:id="JSPAttribute_1211081008033" name="jdkSourceLevel" value="15"/>

要确保xmi:id属性后面的数字在整个ibm-web-ext.xmi中是唯一值。

20.png

 

返回3.5继续配置。

 

五、            注意事项

下面列举了一些在websphere下开发时的注意事项。这些注意事项并非完全绝对,也许在某些特定的情况下才会出现这些问题,仅供大家参考!

5.         

5.1.        JSP注意事项

l  EL表达式中变量书写严格,如:${variable? "1":"2"}改写为

${${variable}? "1":"2"}

 

l  new A().getB().getC().getD() 像这种不规范的写法jsp无法解析。可修改为

((new A().getB()).getC()).getD()或者B b = new A(); C c = b.getB(); D d = c.getD();

 

l  String s = (String)request.getAttribute(“s”);

if(s!=“”){…}

was中永远返回true,无论s的值是否是空字符串,改写为

if(!“”.equals(s)){…}

 

l  <c:out>标签中嵌套jsp标签时,jsp标签中的字符串无法被正确解析。

<c:out  value="

<%=new SimpleDateFormat("yyyy-MM-dd").format(provider.getExpireDate()) %>

/>

改写为

<%

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");

%>

<c:out value="<%=sf.format(provider.getExpireDate()) %/>

 

5.2.        webSphere注意事项

l  websphere服务默认为开机自动启动,修改为手动启动。

右击我的电脑à管理à服务和应用程序à服务à右击 IBM WebSphere Application Server V6.1à属性à启动类型改为手动。

 

l  在修改java文件之后,was在加载class的过程中出现faild to activation MBean异常导致hibernate无法正常加载时。重新部署整个工程,同时把“为资源创建MBean

的选项去到。如图:

 

21.png

 

6. 


6. eclipse常见问题

 

1、Httpservlet cannot be resolved to a type的原因与解决方法

原因:Httpservlet cannot be resolved to a type,显然是Eclipse找不到相应的包,即javax.servlet。

解决:

jdk 里不包括servlet-api.jar 这个包,此包在Tomcat 中存在 
项目名--> 右键 
Property--> 选择 
Java Build Path--> 选择 
Add External JARs--> 选择 
把servlet-api.jar 的路径输入即可


2、Eclipse项目上的红叉解决方案

0.查看Problems视图,定位错误,发现处理之;

1.检查Build Path中的各个依赖jar及library是否有warning的标志,若有,处理之; 

2.project->clean 工程; 

3.window->preference->java->complier->building->build path problems->cirluar dependency设置成warning

4.对于安装有Maven插件的,可以右键项目->Maven->Update Project;


3、Eclipse项目出现红色叹号

原因:缺少了一些jar包等文件引起的

解决:

a. eclipse工程前面出现红色叹号的项目,鼠标右键,在右键菜单中,依次找到:Build Pathàconfig build path或者Build Pathàconfigure build path

b. 点击eclipse项目的configure build path后,在弹出来的窗口中,找到Libraries页签,可以看到一些jar包是红色叉号的,这种jar包就是找不到对应文件的jar包,引起这种eclipse工程前面出现红色叹号的项目,可能是因为从外部导入的项目或者是因为某些文件被删除了,才导致红色叹号。找到这些eclipse项目中没有的jar包,删除它。

c.在eclipse项目中,删除多余的jar包后,或者全部jar包删除后,点击Add JARs功能,找到当前项目中的jar包,导入到eclipse项目中。


4、导入项目发现 Target runtime Apache Tomcat v7.0 is not defined.

Eclipse

右键--》properties--》targeted runtime,把原项目的tomcat去掉勾选,换上自己的Tomcat


myEclipse

在工程目录下的.settings文件夹里,打开org.eclipse.wst.common.project.facet.core.xml文件,其内容是:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
    <runtime name="Tomcat v7.0"/>
  <fixed facet="java"/>
  <fixed facet="jst.web"/>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.6"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

删除第一句话

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>

  <fixed facet="java"/>
  <fixed facet="jst.web"/>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.6"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>