Java Maven:如何在linux上使用非托管依赖项?
我尝试添加非托管依赖项,如下所述: 但它只在Windows上工作,在linux上不工作 项目结构Java Maven:如何在linux上使用非托管依赖项?,java,linux,maven,Java,Linux,Maven,我尝试添加非托管依赖项,如下所述: 但它只在Windows上工作,在linux上不工作 项目结构 |- src |- main |- java |- ... |- resources |- libs |- net |- milkbowl |- Vault |- vault |- maven-metadata.xml |- ... |- 1.2.26-SNAPSHOT
|- src
|- main
|- java
|- ...
|- resources
|- libs
|- net
|- milkbowl
|- Vault
|- vault
|- maven-metadata.xml
|- ...
|- 1.2.26-SNAPSHOT
|- vault-1.2.26-SNAPSHOT.jar
|- vault-1.2.26-SNAPSHOT.pom
|- ...
|- pom.xml
我的POM:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
[...]
<repositories>
<repository>
<id>bukkit-repo</id>
<url>http://repo.bukkit.org/content/repositories/snapshots/</url>
</repository>
<repository>
<id>local-dependencies</id>
<url>file:${project.basedir}/../libs/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.7.5-R0.1-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>vault</artifactId>
<version>1.2.26-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
[...]
</project>
4.0.0
聚甲醛
[...]
bukkit回购
http://repo.bukkit.org/content/repositories/snapshots/
局部依赖
文件:${project.basedir}/./libs/
org.bukkit
布基特
1.7.5-R0.1-快照
罐子
net.milkbowl.vault
拱顶
1.2.26-快照
假如
[...]
错误:缺少工件net.milkbowl.vault:vault:jar:1.2.26-SNAPSHOT首先获取jar,然后执行以下maven目标,将该jar安装到本地存储库中
mvn install:install-file -Dfile=/path/to/vault.jar -DgroupId=net.milkbowl.vault
-DartifactId=vault -Dversion=1.2.26-SNAPSHOT -Dpackaging=jar
如果这是成功的,那么在您的主项目上再次执行build,它被定义为依赖项,我猜问题的根源是jar的命名。在版本中包含快照会告诉maven在存储库中查找最新的快照。为什么不从名称中删除快照,然后再试一次。它安装成功了吗?如果是这样的话,您可以在~/.m2/repository/net/milkbowl/vault/中看到该文件,并且可以在传递了
-X
标志的情况下发布构建日志,但这只是stacktrace,因为构建日志太长了…您执行的maven目标是什么?在日志的前10行的某个地方,它说的是使用位于的本地存储库,并且安装快照jar的路径正确吗?只是澄清一下,您必须从jar名称中删除快照,即jar的路径,并更改项目的pom.xml中的依赖项。然后,您必须重新部署依赖项并重建项目。是的,我知道,我重命名了路径、jar、其他一些文件(如pom)以及项目的pom.xml中的依赖项。请尝试删除存储库定义中的额外/。不确定是否有用,但值得一试。