gpt4 book ai didi

java - Heroku slug 大小计算?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:24:42 24 4
gpt4 key购买 nike

Heroku 如何计算 slug 大小?

我正在做一个简单的 Google 网络工具包网络应用程序。我使用 Spring Roo 帮助我编写锅炉代码,它创建了一个小应用程序 “expenses”,与在 Google IO 上展示的应用程序相同。

在生成的 POM.xml 文件中,我添加了一个 jetty-runner ,就像在 Heroku 的 spring mvc 教程中所做的那样。

现在,当我在终端 Maven 中运行 git push heroku master 时,开始在 Heroku 端获取依赖项,我得到了 [INFO] BUILD SUCCESS 但随后 Heroku 拒绝了我的推送.

-----> Push rejected, your compiled slug is 138.0MB (max is 100MB).
See: http://devcenter.heroku.com/articles/slug-size ! Heroku push rejected, slug too large

我生成的 war 文件在本地创建时最终为 31Mb。但是目标目录最终会变成编译后的 slug 大小,所以我添加了一个 slugignore 文件。

$ cat .slugignore
target/*
!target/*.war

将它推送到 Heroku,它仍然向我抛出这个推送被拒绝,你编译的 slug 是 138.0MB(最大是 100MB)。

所以我的问题是 Heroku 计算其 slug 大小?我已阅读他们的文档,但内容非常稀疏。

最佳答案

由于这是 Google 上的第一个链接,我想我应该通过 Chris Auer 的一篇简单的博客文章添加我找到的解决方案,其中详细介绍了添加 maven 插件执行:http://enlightenmint.com/blog/2012/06/22/reducing-slug-size-for-heroku.html

编辑:根据 oers 评论,上述链接的重点是在您的插件执行中声明 maven-clean-plugin 并包括 target/目录(和所有子目录),同时排除 *.war 文件。该插件的执行阶段应该在安装阶段调用(而不仅仅是清理阶段)。

完整的(以防该站点出现故障),它看起来像这样:

<plugins>
....
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>target/</directory>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>dependency/*.jar</exclude>
<exclude>*.war</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
</configuration>
<executions>
<execution>
<id>auto-clean</id>
<phase>install</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
....

关于java - Heroku slug 大小计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com