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 JAR清单中缺少Maven工作区和系统依赖项_Java_Maven_Dependencies_System_Manifest - Fatal编程技术网

Java JAR清单中缺少Maven工作区和系统依赖项

Java JAR清单中缺少Maven工作区和系统依赖项,java,maven,dependencies,system,manifest,Java,Maven,Dependencies,System,Manifest,我的项目依赖于“mssql jdbc”。 因为这个库不在公共存储库中,所以我添加了“mssql jdbc”作为系统依赖项。当我在eclipse中运行应用程序时,一切都很好 但是现在我想创建一个用于分发的jar(jar:jar)。但是JARs清单的类路径中没有提到“mssql jdbc”和工作区中的另一个库 我花了几个星期试图解决这个问题,结果把我吓坏了 将其作为系统范围中的依赖项,就是告诉Maven不要包含它。Per: 工件始终可用,并且不会在存储库中查找 这通常用于VM提供的东西。再说一次,这

我的项目依赖于“mssql jdbc”。 因为这个库不在公共存储库中,所以我添加了“mssql jdbc”作为系统依赖项。当我在eclipse中运行应用程序时,一切都很好

但是现在我想创建一个用于分发的jar(jar:jar)。但是JARs清单的类路径中没有提到“mssql jdbc”和工作区中的另一个库


我花了几个星期试图解决这个问题,结果把我吓坏了

将其作为
系统
范围中的依赖项,就是告诉Maven不要包含它。Per:

工件始终可用,并且不会在存储库中查找

这通常用于VM提供的东西。再说一次,这个问题


您需要做的是将其作为一个普通的JAR依赖项使用。

好的,这是有道理的,但是我自己的库也丢失了!这是同一工作区中的另一个Maven Eclipse项目。“我自己的库”是什么意思?这是一个您表示为依赖项的JAR吗?如果是这样的话,你使用什么范围呢?我有两个项目“foo-lib”和“bar-app”。两者都是Maven Eclipse项目。“酒吧应用程序”需要“foo lib”。在Eclipse内部,它可以工作。但是“bar-app”的jar:jar不会将“foo-lib”添加到类路径中。好的,maven不知道jar在哪里,但是导入“foo-lib”是不可行的。jar总是手动导入本地maven复制。我建议您使用
mvn install
将foo-lib.jar安装到本地存储库中。然后将foo-lib.jar声明为
bar-app
的POM中的一个依赖项。所以我总是在运行
jar:jar
之后安装/部署
foo-lib
。为了自动实现这一点,我在Eclipse中将其添加到目标中。我是
foo-lib
的开发人员,但有些同事使用我的lib,因此它不是真正的解决方案。我想将jar安装/部署到网络驱动器上的目录中。你知道我如何强制eclipse中的maven在网络驱动器上使用公共repo和这个文件夹吗?