我有一个应用程序,其依赖项由maven处理。我需要知道,我如何处理远程存储库中不存在的依赖项。我不想使用本地存储库。需要帮助。
答案 0 :(得分:1)
我可以看到一些解决方案:
找到另一个具有所需依赖项的远程存储库 (jarvana,findjar等)是你的朋友
等待依赖项的维护者在远程存储库上使它们可用 (闭上眼睛,交叉手指......等待)
使用您需要的依赖项设置您自己的远程存储库 (oragnization存储库)
手动或通过您喜欢的IDE将依赖项放在calsspath中:p
答案 1 :(得分:0)
当你说
时不存在的依赖项 在远程存储库中
我假设您的意思是maven central(默认存储库)中不存在的存储库。如果是这样,正如Stephen建议的那样,您可能希望在pom中添加repositories部分,并引用其他具有依赖关系的存储库。
如果没有具有依赖关系的远程存储库,并且您不希望将它们本地安装到本地存储库,则maven将自动处理这种情况 - 它将发出错误并且无法建立。
答案 2 :(得分:0)
默认情况下,maven-compiler-plugin使用java 1.3进行编译。您需要将其配置为使用jdk5 / jdk6。将以下内容添加到POM xml。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
答案 3 :(得分:0)
如果您不想使用本地存储库,那么您可以使用系统范围声明它们。记录here
示例:
<project>
...
<dependencies>
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
</dependencies>
...
</project>
我真的建议使用本地存储库。非常容易设置和安装Nexus。 系统范围实际上旨在包含对JVM的扩展。