【问题标题】:Deploy only java file without deploying the WAR仅部署 java 文件而不部署 WAR
【发布时间】:2012-07-27 10:49:22
【问题描述】:

我有一个基于 jsp 的 Web 应用程序。

源代码保存在C:/MyApp/src。这里包含控制器和其他.java 文件。

在通过 eclipse 构建应用程序之后。我将.war 文件复制到Apache/WebApps 文件夹。 Apache Tomcat 对其进行了扩展,Web 应用程序运行良好。

从最近几天开始,我直接在Apache/WebApps 文件夹中编辑了很多页面。现在我想在C:/MyApp/src/.. 中编辑一个.java 文件

现在我想在我的Apache/WebApps 中使用更新后的.java 文件,但不想通过eclipse 重建整个代码。如果这样做,我在 Apache/WebApps 文件夹中所做的更改将会丢失。

我该怎么办?

【问题讨论】:

  • Apache 不是一个程序,Apache 是一个基金会。我很确定,基金会不会提取你的 WAR 文件。请更具体。 ;)
  • @coure2011 如果我没记错的话,我认为您使用的是 Apache Tomcat 而不是 apache?

标签: java eclipse jsp tomcat


【解决方案1】:

按照@bpgergo 的建议进行更改,否则...

您可以使用 Eclipse 配置您的 tomcat 服务器,并从 eclipse 启动和停止服务器,然后您可以 add your project 到 eclipse 中配置的服务器。

Eclipse 可以配置为将更改自动部署到服务器,因此无论何时更改 JSP 或 java 文件等任何内容,服务器都会自动接受更改,而无需部署 WAR 文件。

但是由于 java 更改不是可热部署的,所以每当您将更改保存到 java 文件时,eclipse 都会重新启动服务器。

如果您想在不重新启动服务器的情况下部署 java 更改,您也可以尝试使用 JRebel(30 天免费 :-))。

现在我建议(如果您不想走上面提到的方式。以下是一种非常粗暴的方法,以后应该避免)

  1. 在eclipse中将.java文件编译成.class
  2. 关闭服务器
  3. .class 文件复制到服务器上WEB-INF/classes/.. 中的确切位置
  4. 重启服务器
  5. 这将保持您的 JSP 更改完好无损,也将反映 .java 更改

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    你应该

    1. 将所有修改从部署文件夹 (Apache/WebApps) 合并到源文件夹 (C:/MyApp/src/)。确保您可以从源代码重建当前版本。
    2. 开始使用某种version control 工具,即使您只在本地计算机上工作(我推荐Git
    3. 开始使用build tool,而不是让Eclipse 从源代码构建您的战争。我推荐MavenIvy

    【讨论】:

    • -1 你说得对,但这并不能解决他的问题。他不喜欢删除 WebApps 文件夹。 maven 和 ant 都不会在这里提供帮助。
    【解决方案3】:

    安装插件

    http://andrei.gmxhome.de/filesync/index.html
    

    并使用提取的战争文件。

    【讨论】:

    • 我认为这不能回答问题,因为他在谈论.java 文件,java 文件与 jsp 不同,需要部署以反映更改。该工具只会将文件系统中的文件与 eclipse 同步。
    • Eclipse 将 .java 编译为 .class 对吗? .class 文件的插件也到服务器!然后服务器的部署扫描程序启动。这就是全部部署! (youtube.com/watch?v=OMtcjgTyP-g@4 分钟)
    猜你喜欢
    • 2015-06-14
    • 1970-01-01
    • 2012-12-16
    • 2013-04-08
    • 2014-10-03
    • 2010-09-13
    • 2019-10-01
    • 2013-06-01
    • 2015-11-04
    相关资源
    最近更新 更多