一级a做爰片手机电影网站,上海自助建站费用,聊天软件开发方案,中国空间站照片如何配置计算机以保存并刷新Java Web项目#xff1f; 当您向开发人员提出此问题时#xff0c;答案以“哦#xff0c;好吧……”开头#xff0c;并以某种可行的方式继续描述。 每个人都有自己的方式。 首先–为什么需要这个#xff1f; 因为执行复制和重新启动服务器是生产… 如何配置计算机以保存并刷新Java Web项目 当您向开发人员提出此问题时答案以“哦好吧……”开头并以某种可行的方式继续描述。 每个人都有自己的方式。 首先–为什么需要这个 因为执行复制和重新启动服务器是生产力的杀手-浪费大量时间。 如果不提高将项目与容器同步的工作效率即使是进行简单的修复也可能需要完整的构建和部署周期才能进行测试。 这可能会花费很多时间具体取决于项目的规模。 我会写下一些内容以补充我的StackOverflow答案 IDE集成– IDE可以选择添加本地服务器并将项目部署到该服务器。 这需要附加的插件配置哪些工作空间文件在servlet容器中的位置并且并不总是有效。 当图片中有Maven时它要么不起作用要么需要另一个插件如我的这个答案所述 。 您使用一些工具来同步目录结构。 在Eclipse中有FileSync插件 它使您可以配置将哪些工作空间文件放到servlet容器中的什么位置。 可能存在执行相同操作的其他工具例如unison 或者您可能已经编写了一些脚本或插件来执行此操作。 从maven运行servlet容器如果使用maven–使用tomcat插件或jetty插件即可 。 缺点是要在调试模式下运行您需要附加外部调试器而不是为此使用内置的IDE服务器集成。 并且它需要插件配置。 另外请记住如果使用码头较快速的选项进行开发那么如果您的生产容器是tomcat则行为可能会有所不同。 麻烦不大但仍要牢记一些。 手动复制项目文件–一开始听起来并不可怕但随后又开始困扰您–毕竟这是一项要求自动化的任务。 因此现在您已将类文件和资源cssjavascript图像配置文件复制到servlet容器。 但是为了使它们起作用您需要一些HotSwap功能。 也就是说让jvm重新加载类定义。 有四个选项 常规HotSwap –只需在调试模式下运行servlet容器即可。 每当更改类文件时就可以交换方法的主体。 但是更改方法或类签名需要重新启动。 我一直使用此选项而且还没有那么痛苦–在所有方法签名重新定义和重构都不会经常发生之后即使这样做了也可以重新启动服务器因为您不必专注于使某些特定功能起作用。 DCEVM – VM增强功能允许完全重新加载类。 我没有使用过它但是如果它可以正常工作它应该可以解决上面提到的签名重新定义问题。 JRebel –商业替代品。 我从未使用过它我听说过它很好而且我知道还有很多额外的功能可以让您在各种框架中使用它例如重新配置spring上下文不需要重新启动。 我不认为这些事情经常发生因此我从不推荐JRebel商业化但这是您应该考虑的重要选择。 每次更改都重新启动服务器。 如果项目很小这将花费很少的时间因此可以选择。 但是我什至不建议在小型项目中使用它因为至少HotSwap易于配置而且您仍然需要调试模式 如此众多的选择–在Java世界中如此典型。 他们或多或少地工作良好。 但是我决定再添加一个选项该选项几乎具有零配置– aardWARk 。 通过将aardwark.war文件放入您的tomcat中并重命名它使其名称包括项目目录的路径并进行同步处理即可工作。 请注意这是添加到上面第一个列表的选项。 对于热交换您仍然需要第二个列表中的三个选项之一。 在项目页面上有一个更详细的设置指南但有几点需要强调 它仅适用于Maven项目。 为了具有零配置需要使用Maven的Convention-over-configuration 它独立于IDE独立于servlet容器。 它完成了我认为上面没有其他解决方案可以做的事情也许除了JRebel之外-它也将同步依赖于Maven的项目。 通常您有一个多模块项目其中一些项目打包为jar而其他网络项目则依赖于它们。 但是您需要能够在“核心”模块中更改类并立即查看Web应用程序中的更改。 这将意味着重新包装并重新装入罐子。 AardWARk只需解析pom找到相关项目并将其类复制到classpath即可覆盖现有定义 支持多个项目还支持通过属性文件进行配置如果您不想或无法命名war文件来包含项目路径 更改pom时不会同步jars文件-您需要重建并重新启动。 嵌入Maven和运行依赖关系目标的一些解决方法但是如果添加了新的jar则无论如何都需要重新启动。 它之所以被称为aardWARk有一个简单的原因-最好在您的项目之前加载此war文件。 不一定因为仅同步jar文件才需要但是最好同步。 Servlet容器不能保证Webapp的加载顺序但是很可能是按字母顺序选择它们的因此很有用出于明显的原因用war代替var。 我希望它是一个有用的工具如果人们开始使用它并提供反馈我将感到非常高兴。 参考 Bozho的技术博客博客中的JCG合作伙伴 Bozhidar Bozhanov的 Java Web Project 保存和刷新 。 翻译自: https://www.javacodegeeks.com/2013/11/save-and-refresh-with-java-web-projects.html