【问题标题】:WAR/JAR-files generated by maven do not ship the most actual version of the codemaven 生成的 WAR/JAR 文件不提供最实际的代码版本
【发布时间】:2018-12-13 12:43:22
【问题描述】:

我正在使用带有 Angular 7 前端的 Spring Boot 应用程序,并通过以下方式构建(和执行)整个项目:

mvn clean package
cd target
java jar -jarFile

效果很好。它启动了一个 tomcat,我可以通过localhost:8080 访问该站点。现在我对代码进行了一些更改,并且 tomcat 没有运行我的代码的更新版本(而是运行旧代码)。我通过在我的第一页添加日志来确认这一点:

旧代码

ngOnInit() {
    this.logger.info('init dashboard component');
    this.updateAllProjects();
    this.updateMyProjects();
}

这是新代码:

ngOnInit() {
    this.logger.info('init dashboard component');
    this.updateAllProjects();
    this.updateMyProjects();
    this.logger.info('everything up to date');
}

它被放置在ngOnInit()-函数中。现在我回去运行mvn clean package 并尝试再次启动 jar。然而,我得到以下输出:

通过运行ng serve 我得到了这个结果(正如预期的那样):

我尝试运行 ng build 并在 tomcat 上手动部署 - 结果相同。

所以我查看了我生成的类 - target\classes\static 中的 main.js 包含以下代码:

 DashboardComponent.prototype.ngOnInit = function () {
        this.logger.info('init dashboard component');
        this.updateAllProjects();
        this.updateMyProjects();
        this.logger.info('everything up to date');
    };

应该是这样的。

所以我进一步研究了我生成的 JAR 文件。来自BOOT-INF\classes\static\main.js 包含以下代码:

DashboardComponent.prototype.ngOnInit = function () {
    this.logger.info('init dashboard component');
    this.updateAllProjects();
    this.updateMyProjects();
    this.logger.info('everything up to date');
}

但是当我运行 `java -jar' 时仍然没有执行。我还尝试交换一些 UI 元素,但没有应用更改。实际上我从来没有遇到过这些麻烦,有人可以联系/帮助吗?我什至尝试重新启动电脑...:D

手动部署战争文件也有相同的输出。

编辑:

我在我的pom.xml 中使用spring-boot-starter-web-dependency,这是该tomcat 的来源。

编辑

这个问题只影响前端代码。我已经尝试清除 targetmain/resources/static 文件夹,并在这些目录中生成新代码。

【问题讨论】:

  • 看来tomcat正在缓存资源。尝试清理 webapp 目录,刷新服务器库并重新部署。
  • 我部署到全新的tomcat上,仍然是旧代码,所以这似乎是一个与maven相关的问题
  • 您是否尝试在 Chrome 中使用 Shift+F5 重新加载页面?由于浏览器缓存,我在使用 GWT 应用程序时遇到了类似的问题。
  • @DrHopfen 我尝试了一个完整的系统重启,我认为这就足够了。我现在确实建立了一个新项目,并且成功了。下次我会记住你的建议并尝试一下!

标签: java spring maven tomcat jar


【解决方案1】:

前端代码由浏览器 (Chrome) 缓存。要重新加载忽略缓存的页面,您可以使用Shift + F5。 (详见https://support.google.com/chrome/answer/157179?hl=en网页快捷方式。)

【讨论】:

    猜你喜欢
    • 2012-02-19
    • 2019-04-07
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多