Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Maven中使用仅编译时的JAR_Java_Maven_Jar_Dependencies - Fatal编程技术网

Java 在Maven中使用仅编译时的JAR

Java 在Maven中使用仅编译时的JAR,java,maven,jar,dependencies,Java,Maven,Jar,Dependencies,我有一个包含许多JAR的目录,我需要这些JAR来编译我的项目,但运行时不需要这些JAR。(它们已经在部署war的环境中提供了。)这些JAR目前与Maven项目没有关联 对于我来说,为了让maven安装成功,最简单的方法是什么?我看到maven依赖项可以提供一个范围,但是我必须首先将JAR转换为maven项目吗?不必将依赖JAR转换为maven项目。也许最简单的解决方案是一次性将这些依赖JAR手动发布到存储库中,以便您的maven项目可以引用它们。然后,正如您所提到的,在您的项目中,按照提供的方式

我有一个包含许多JAR的目录,我需要这些JAR来编译我的项目,但运行时不需要这些JAR。(它们已经在部署war的环境中提供了。)这些JAR目前与Maven项目没有关联


对于我来说,为了让maven安装成功,最简单的方法是什么?我看到maven依赖项可以提供一个范围,但是我必须首先将JAR转换为maven项目吗?

不必将依赖JAR转换为maven项目。也许最简单的解决方案是一次性将这些依赖JAR手动发布到存储库中,以便您的maven项目可以引用它们。然后,正如您所提到的,在您的项目中,按照提供的方式标记这些罐子


然而,这种方法可能会导致问题。例如,假设您的代码依赖于一些ApacheJAR。您如何知道运行时环境将提供哪个版本的ApacheJAR?如果运行时环境已更新,但您的代码是使用具有不同包结构和/或类名的旧jar编译的,该怎么办?类加载器问题可能很严重。WAR/EAR应该是自包含的(尽可能多)。

首先将这些JAR放入存储库管理器,然后确定这些JAR的生产范围……是的,情况当然不理想(使用不同的JAR副本),但这正是我所坚持的。这让我尝试了ApacheArciva,它一直都很顺利。谢谢你的回答。