为了账号安全,请及时绑定邮箱和手机立即绑定

Heroku 上的 Java Spring MVC 错误:无法访问 jarfile 目标/依赖项/

Heroku 上的 Java Spring MVC 错误:无法访问 jarfile 目标/依赖项/

BIG阳 2022-01-19 10:37:27
我使用 Heroku 将我的 Spring MVC java 应用程序与 PostgreSQL 数据库一起部署。链接到数据库工作正常,PostgreSQL 已成功初始化。部署成功,没有错误或奇怪的警告消息,但现在应用程序失败。以下是日志:    heroku[web.1]: State changed from crashed to starting    heroku[web.1]: Starting process with command `java $JAVA_OPTS -Dspring.profiles.active="datajpa,heroku" -DMISIC_ROOT="." -jar target/dependency/webapp-runner.jar --port 28363 target/*.war`    heroku[web.1]: State changed from starting to crashed    heroku[web.1]: Process exited with status 1    app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.    app[web.1]: Error: Unable to access jarfile target/dependency/webapp-runner.jar    heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=misic.herokuapp.com request_id=a242ee89-5594-4f48-9d14-432d46b17600 fwd="178.21.66.110" dyno= connect= service= status=503 bytes= protocol=https我没有在stackoverflow上找到任何答案,这可以解决我的问题。为什么 Heroku 找不到 webapp-runner.jar,我不知道!在本地主机上一切正常。我的 pom.xml(部分)    <profiles>        <profile>            <id>postgres</id>            <dependencies>                <dependency>                    <groupId>org.postgresql</groupId>                    <artifactId>postgresql</artifactId>                    <version>${postgresql.version}</version>                </dependency>版本 Tomcat:8.5.29档案:    web: java $JAVA_OPTS -Dspring.profiles.active="datajpa,heroku" -DMISIC_ROOT="." -jar target/dependency/webapp-runner.jar --port $PORT target/*.warGithub 链接:https ://github.com/MisicSlavisa/misic我解决了这个问题。出于某种原因,Heroku 不使用文件 settings.xml。当我将此文件的内容传输到 pom.xml 并删除它时,一切正常。
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

确保你有这样的东西在你的pom.xml:


        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-dependency-plugin</artifactId>

            <executions>

                <execution>

                    <phase>package</phase>

                    <goals><goal>copy</goal></goals>

                    <configuration>

                        <artifactItems>

                            <artifactItem>

                                <groupId>com.github.jsimone</groupId>

                                <artifactId>webapp-runner</artifactId>

                                <version>9.0.13.0</version>

                                <destFileName>webapp-runner.jar</destFileName>

                            </artifactItem>

                        </artifactItems>

                    </configuration>

                </execution>

            </executions>

        </plugin>


查看完整回答
反对 回复 2022-01-19
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

请参阅我的答案找到 webrunner 所在的文件夹,以便您的 Procfile 找到它。这是我的配置


<build>

        <plugins>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>2.3.2</version>

                <configuration>

                    <source>1.6</source>

                    <target>1.6</target>

                    <compilerArguments>

                        <endorseddirs>${endorsed.dir}</endorseddirs>

                    </compilerArguments>

                </configuration>

            </plugin>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-war-plugin</artifactId>

                <version>2.1.1</version>

                <configuration>

                    <failOnMissingWebXml>false</failOnMissingWebXml>

                </configuration>

            </plugin>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-dependency-plugin</artifactId>

                <version>2.1</version>

                <executions>

                    <execution>

                        <phase>validate</phase>

                        <goals>

                            <goal>copy</goal>

                        </goals>

                        <configuration>

                            <outputDirectory>${endorsed.dir}</outputDirectory>

                            <silent>true</silent>

                            <artifactItems>

                                <artifactItem>

                                    <groupId>javax</groupId>

                                    <artifactId>javaee-endorsed-api</artifactId>

                                    <version>6.0</version>

                                    <type>jar</type>

                                </artifactItem>

                            </artifactItems>

                        </configuration>

                    </execution>

                </executions>

            </plugin>

            <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-dependency-plugin</artifactId>

            <executions>

                <execution>

                    <phase>package</phase>

                    <goals><goal>copy</goal></goals>

                    <configuration>

                        <artifactItems>

                            <artifactItem>

                                <groupId>com.github.jsimone</groupId>

                                <artifactId>webapp-runner</artifactId>

                                <version>9.0.24.0</version>

                                <destFileName>webapp-runner.jar</destFileName>

                            </artifactItem>

                        </artifactItems>

                    </configuration>

                </execution>

            </executions>

        </plugin>

        </plugins>

    </build>



查看完整回答
反对 回复 2022-01-19
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

对我来说 1) 我在尝试设置 jhipster upp 以通过 git 部署而不是通过 jarfile 时遇到过这种情况。我拥有它是因为 Node.js buildpack 是在 java 之前启动的,所以我被迫使用heroku:buildpacks add --index 2 heroku/nodejsheroku:buildpacks add --index 1 heroku/java` 来设置它们,但即使在这个更改之后我仍然有同样的错误。2)然后我意识到我在 pom,xml 中有 jar 包装,而不是必需的 war 包装。将此值更改为 pom.xml 对我有帮助。


查看完整回答
反对 回复 2022-01-19
  • 3 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信