2011-05-17 81 views
7

我正在寻找一些信息,我还没有发现其他地方,如标题所说:我找不到在哪里GlassFish是存储在运行时编译JSP页面,我已经看到在以下目录:Glassfish 2.1在哪里存储缓存的JSP?

  • WEB -INF/JSP我部署的EAR下,不存在
  • 域1 /生成/ JSP/J2EE的应用程序的/ etc等具有
  • 我做的整个GlassFish的文件夹搜索没有.java文件并且我没有找到与JSP相关的任何.java文件...

任何其他提示?

我必须以某种方式设置Glassfish吗?设置一些属性? (我只在web容器中设置jspCachingEnabled = true)

在此先感谢。

+0

您是否使用控制Glassfish的IDE?如果是这样,哪个? – BalusC 2011-05-17 15:11:20

+0

我正在使用Eclipse Helios,但无法将其设置为直接部署到Glassfish,我尝试了多次使用添加/删除功能,但似乎没有工作,服务器永远停留在[Republish]上,因此我会手动部署使用其管理控制台。 – OverLex 2011-05-17 15:15:12

+0

对不起,我在标题中忽略了您使用v2而不是v3。我的Eclipse插件也有不好的体验。然而,v3的一个比真棒。 – BalusC 2011-05-17 15:57:10

回答

10

GlassFish在默认情况下编译完成后,不会为jsp保留生成的java源代码。您可以通过添加下面的代码片段到你的sun-web.xml文件更改...

<jsp-config> 
    <property name="keepgenerated" value="true"> 
     <description>Keep a copy of the generated servlet class' java code.</description> 
    </property> 

如果你的JSP(mypage.jsp)是在战争文件(MyWebApp.war的),那么Java文件将

%GLASSFISH_HOME%\domains\domain1\generated\jsp\j2ee-modules\mywebapp_war\org\apache\jsp\mypage_jsp.java 

如果你的JSP(mypage.jsp)是在战争文件(MyWebApp.war的),这是一个EAR(myentapp.ear)的一部分,然后在java文件将

%GLASSFISH_HOME%\domains\domain1\generated\jsp\j2ee-apps\myentapp\mywebapp_war\org\apache\jsp\mypage_jsp.java 
+0

有趣的是,在问这个问题几个小时后我找到了同样的解决方案,因为正确,谢谢你:)(现在我需要知道如何创建我的sun-web.xml) – OverLex 2011-05-18 13:14:51