gpt4 book ai didi

java - 尝试将本地依赖项添加到heroku java应用程序时,接收无法解决依赖项错误

转载 作者:行者123 更新时间:2023-11-30 04:33:13 24 4
gpt4 key购买 nike

我正在尝试按照 Heroku 上的“向 Maven 项目添加非托管依赖项”一文,将本地 JAR 依赖项添加到 java 项目。我一直卡在更新 Pom 文件部分,它告诉我添加/更新存储库元素。我将示例存储库元素添加到我的 pom.xml 文件中,当我尝试将代码推送到 heroku 时,我收到以下错误:

Failed to execute goal on project fuji: Could not resolve dependencies for project com.example.fuji:fuji:jar:1.0-SNAPSHOT: Could not find artifact com.example.tambora:Tambora:jar:0.0.1-SNAPSHOT in project.local

看来我将存储库 id 或 name 元素命名错误,但我不知道它们也应该更改什么。我能够在本地运行此应用程序而不会收到任何错误。

这是我的 pom.xml 文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.fuji</groupId>
<artifactId>fuji</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Fuji</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.example.tambora</groupId>
<artifactId>Tambora</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>7.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>7.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>7.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>7.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper-el</artifactId>
<version>7.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>7.0.22</version>
</dependency>
</dependencies>
<build>
<finalName>fuji</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<assembleDirectory>target</assembleDirectory>
<programs>
<program>
<mainClass>launch.Main</mainClass>
<name>webapp</name>
</program>
</programs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<!--other repositories if any-->
<repository>
<id>project.local</id>
<name>project</name>
<url>file:${project.basedir}/repo</url>
</repository>
</repositories>
</project>

最佳答案

发生这种情况的原因可能是 com.example.tambora:Tambora:jar:0.0.1-SNAPSHOT 是一个 SNAPSHOT,但尚未为您的自定义存储库启用 SNAPSHOT。根据Maven: The Complete Reference ,这是必需的:

As a default setting, Maven will not check for SNAPSHOT releases on remote repositories. To depend on SNAPSHOT releases, users must explicitly enable the ability to download snapshots using a repository or pluginRepository element in the POM.

你应该能够像this一样:

<repository>
<id>project.local</id>
<name>project</name>
<url>file:${project.basedir}/repo</url>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>

此外,在本地排除此问题时,我建议删除您的 ~/.m2/repo/com/example/tambora 目录,因为可能发生的情况是 Maven 在您的本地中查找 JAR存储库而不是嵌入到您的项目中的存储库。

关于java - 尝试将本地依赖项添加到heroku java应用程序时,接收无法解决依赖项错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14116784/

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