我想创建一个独立版本的应用程序,并想知道我如何排除 要打包的非托管* .jar文件。这是“mariaDB4j-2.0-SNAPSHOT.jar”文件,仅我 在测试中使用,大约56MB。
我尝试将jar文件放入自定义目录'test / lib'。不幸的是,这并没有将mariaDB4j排除在包装之外。
unmanagedBase <<= baseDirectory { base => base / "test/lib" }
unmanagedJars in Test <<= unmanagedBase map { base => (base ** "mariaDB4j-2.0-SNAPSHOT.jar").classpath }
对此有何想法?
干杯 奥利弗
答案 0 :(得分:5)
我认为你想要添加到测试类路径。
两件事:
show test:fullClasspath
查看类路径中的内容,以确保您的jar在那里。使用inspect test:fullClasspath
将显示用于测试的依赖项。我认为您可以通过以下方式直接将jar添加到类路径中:
测试中的fullClasspath + = Attributed.blank(baseDirectory.value /“test / lib / mariaDB4j-2.0-SNAPSHOT”)
希望有所帮助!
答案 1 :(得分:1)
这有效,但看起来有点夸大其词。更改非托管依赖项的基本目录,将文件包含在测试中并将其从编译中排除。
unmanagedBase <<= baseDirectory { base => base / "test/lib" }
unmanagedJars in Test <<= unmanagedBase map { base => (base ** "mariaDB4j-2.0-SNAPSHOT.jar").classpath }
excludeFilter in unmanagedJars in Compile := "mariaDB4j-2.0-SNAPSHOT.jar"
excludeFilter in unmanagedJars in Compile ~= { _ || "mariaDB4j-2.0-SNAPSHOT.jar" }
答案 2 :(得分:1)
不要使用非托管依赖项
如果您想将jar保留在源存储库中,只需在源代码树中使用基于文件的maven存储库
resolvers += "Private Maven Repository" at file(".").toURI.toURL+"/repository"
然后mvn在本地安装MariaDB4j并将结果内容从maven缓存复制到$ yourproject / repository
并像使用常规托管依赖项一样使用依赖项