我遇到tomcat将我的文件部署到服务器的问题。
我已将Tomcat 7安装到/opt/tomcat7
。
在我的eclipse中,我已将此路径指定为我的tomcat服务器。
我的工作区目录是/home/maciej/workspace/<projects here>
现在,如果我编辑一个类文件并添加简单的日志语句
log.info("blabla");
然后通过 - 在服务器上运行来部署'NEW'版本的文件,我在输出中看不到这个'blabla'
。虽然我已经修改了类文件,但它似乎没有正确部署到tomcat中。 Tomcat正在阅读上帝知道什么,但肯定不是它应该阅读的文件。
编辑:我已经在eclipse中重新配置了我的tomcat,现在:
Server Path = /opt/tomcat7
Deploy Path = /opt/tomcat7/webapps <- used to be .metadata/blablabla default
eclipse tomcat location
当我在参数/工作目录下打开“打开午餐配置”时,默认选项是带有灰色路径的票证/home/maciej/Desktop
这是否也应该改变?
是不是tomcat工作目录/opt/tomcat7/work
?
有任何建议/想法吗?由于我无法开发应用程序,因此这个问题稍微让我感到紧张。
答案 0 :(得分:1)
Tomcat installation directory
与您在Window
&gt;中看到的模式中的Preferences
相同Server
&gt; Runtime Environments
&gt;点击Edit
后/opt/tomcat7
。应该设置为Deploy Path
或Tomcat安装的根目录。
Server Path
相对于webapps
。它应该是Servers
,除非你已经有了东西并且想要一个单独的目录。在关闭Tomcat并通过Modules auto reload by default
视图删除其下方的所有Web应用程序之前,您将无法对其进行编辑。
如果您信任JDK热交换,请尝试取消选中list($width, $height) = getimagesize("http://www.example.com/resize/size/path");
,如果您正在使用JDK 1.7或1.8,并且只想查看插入的日志语句,则应该这样做。
您提到的工作目录只是Tomcat用于在崩溃等情况下吐出线程转储的根目录。它与Tomcat&#34; work&#34;无关。 。目录
答案 1 :(得分:0)
打开服务器视图:Window-&gt; Show view-&gt; Other-&gt; Servers。选择正确的服务器,右键单击,选择“清理”,然后重新启动tomcat。它应该有所帮助。
答案 2 :(得分:0)
如果您在项目中更改某些内容,那么Eclipse将自动构建并将文件“部署”到您指定的位置。默认情况下,Eclipe的工作在那里停止,剩下的工作由tomcat决定。
Tomcat与任何Java Web服务器一样,检测JSP中的更改并重新编译它们。然而,由于Java类加载的工作方式,类中的更改不起作用。对于tomcat使用的新版本,您需要:
默认情况下,重新加载应用程序的最简单方法是对web.xml
进行更改。如果您查看tomcat的配置conf/context.xml
,您会看到WEB-INF/web.xml
受到监控。任何更改都将触发上下文的重新加载。因此,您可以对文件进行人为更改,也可以添加WEB-INF/version.properties
之类的资源,并为任何版本生成不同的version.properties
。
无论如何,重新加载复杂的应用程序需要时间。这就是为什么有像JRebel这样的插件。但在你沿着这条路走下去之前(这会给你的设置添加另一个移动部件),你也可以尝试使用Eclipe支持热代码替换。你在debug中启动tomcat,用Eclipse连接它,然后更改一些类。 Eclipse将尝试重新编译该类并将新定义上载到 tomcat 。如果它失败了,它会告诉你。作为一般规则,当您更改程序的结构时它将失败,并且当您只更改方法的实现时会成功。