2

我开发了一个正确部署在Apache Tomcat上的 Java 动态 Web 项目。现在我正在尝试在WebSphere Application Server 8.5上部署.war文件。企业应用程序已正确创建,但是当我尝试使用浏览器访问我的应用程序时,出现以下错误:

Error 404: javax.servlet.UnavailableException: SRVE0200E: Servlet [it.foo.simpleapp.SimpleApp]: Could not find required class - class java.lang.ClassNotFoundException: it.foo.simpleapp.SimpleApp

该应用程序非常简单:当GET到达时,它应该以text/html内容进行响应。

我很确定.war文件是正确的,但我是 WebSphere 部署的新手。

servlet 类是:

@WebServlet("/")
public class SimpleApp extends HttpServlet {
   private static final long serialVersionUID = 1L;

   public SimpleApp() {
      super();
   }

   protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
      response.getWriter().print("<html><body><h1>SimpleApp servlet ready!</h1>");
      response.getWriter().print("</body></html>");
      response.setContentType("text/html");
   }

}

web.xml文件是:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SimpleApp</display-name>
</web-app>

提前致谢!

4

2 回答 2

3

问题可能与Tomcat使用的一些库没有进入WebSphere环境有关;所以我解决了用 IBM Java 库编译代码的问题。以下步骤解决了我的问题。

  1. 为 Eclipse 安装 WASdev 插件。可以从以下 URL 检索它:http ://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/V8.5/

  2. 在 Eclipse 中,在“ Window > Preferences > Server > Runtime Environments ”下,应单击“ Add... ”按钮添加一个新的运行时环境。

  3. 在“ IBM ”文件夹下选择“ WebSphere Application Server v8.5 ”运行环境并选中“创建新的本地服务器”。在下一个窗口中,必须提供“安装目录”;例如:{your_path}\IBM\WebSphere\AppServer

    如果在这些操作过程中显示“安全服务器仅支持 IBM JRE 6.0 或更高版本。使用产品安装映像中的 IBM JRE。 ”之类的消息,您可以按照本教程更改eclipse.ini内容。这些行:

    --launcher.defaultAction
    openFile
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Dhelp.lucene.tokenizer=standard
    -Xms40m
    -Xmx512m
    

    必须替换为以下行:

    --launcher.defaultAction
    openFile
    -vm
    {your_path}\IBM\WebSphere\AppServer\java\bin\javaw.exe
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx512m
    
  4. 现在您可以创建一个新的“动态 Web 项目”,将WebSphere Application Server指定为目标运行时

导出的WAR文件可以作为Enterprise application正常工作。

我希望这会很有用。

于 2012-10-10T10:33:44.017 回答
1

Following step 3 above may not resolve the message like:

"Secure servers are only supported with IBM JRE 6.0 or above. Use the IBM JRE from the product installation image."

Instead of changing eclipse.ini you may need to add JVM directly to eclipse.exe command line like

{eclipse_install_path}/eclipse.exe -vm "C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe" -vmargs -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode

see more at Howto start eclipse in JDK?

于 2012-10-24T16:14:37.277 回答