0

我是 JBOSS 和 Eclipse 的新手。我安装了 jboss-as-7.1.0.Final 和 eclipse Indigo 版本。当我创建一个新JSP页面然后运行它时,当 JBoss 启动并运行时,可以在浏览器中看到该页面。但是当我在 JSP 页面中更改某些内容并将页面复制并粘贴到部署路径中时(对我来说:/home/aash/App/jboss/jboss-as-7.1.0.Final/standalone/deployments/TestingJBoss.war ),看不到更改。即使我从该位置删除 jsp 文件(并清理浏览器),浏览器仍会显示该页面。但是当 JBoss 停止并再次重新启动时,服务器会按预期给出 404 错误。当我再次将相关的 JSP 页面复制到上述位置时,可以看到该页面。
我从 Eclipse IDE 运行并停止 JBoss。任何人都可以让我知道问题所在或我可以找到解决方案的任何来源。

4

2 回答 2

1

默认情况下,当您使用 Eclipse 为 JBoss 7 进行开发时,对 Java 类和 JSP 的更改不会自动发布。您必须右键单击“服务器”视图中的 Web 模块并选择“完全发布”才能使更改生效。一段时间后,这可能真的很痛苦。我找到了解决问题的这些步骤。

发布 Java 类更改

在 Eclipse 中,双击 Servers 视图中的 JBoss 服务器。在发布下选择资源更改时自动发布。在应用程序重新加载行为下,选择自定义应用程序重新加载行为。输入以下正则表达式模式。

\.jar$|\.class$      //this pattern is for trigger of redeployment.

如果重新部署应用程序,您的会话将丢失。所以忽略放置 JSP 或类文件模式

保存更改并重新启动服务器。现在,当您保存 Java 文件时,系统将自动重新启动应用程序以使更改生效。

发布 JSP 更改

这需要更多的工作。从本质上讲,JBoss 7.1.1 有一个缺陷,即即使在开发模式下,服务器也不会接收到对 JSP 文件的更改。

首先,我们需要启用 JSP 调试模式。打开服务器的standalone.xml。找到该行:

<subsystem xmlns="urn:jboss:domain:web:1.1" ...>

在下面添加这些行:

<configuration>
 <jsp-configuration development="true"/>
</configuration>

保存并关闭文件。

jboss-as-web-7.1.1.Final-RECOMPILE.jarDatafilehost.com下载固定文件。将文件保存在jboss-as-7.1.1.Final/modules/org/jboss/as/web/main folder.

在同一个文件夹中有一个 module.xml 文件。打开它。注释掉错误文件并使用新文件,如下所示。

<!--
<resource-root path="jboss-as-web-7.1.1.Final.jar"/>
-->

<resource-root path="jboss-as-web-7.1.1.Final-RECOMPILE.jar"/>

保存并关闭文件。

信息取自Mobiarch 博客文章

于 2014-09-19T04:47:25.683 回答
1

手动替换部署文件夹中的jsp有什么好的理由吗?

无论如何按照这些步骤,你应该很好

  1. 将 jsp 替换为正确位置的新 jsp。(确保路径正确)。

您的项目结构是否像在构建期间将 jsps 从某些项目复制到战争网络内容?只要确保您的新 jsp 随处更新。

之后,在 Eclipse 中,右键单击服务器并选择发布。然后尝试访问jsp。

于 2012-12-03T07:17:14.230 回答