Maven 添加运行时依赖
Maven add dependencies on runtime
我正在尝试使用 Maven 编译和 运行 这个 java 项目。为此,我不得不使用 3rd 方 Jar 库,在 maven 存储库中找不到。我一直试图告诉 maven 在 运行 时间使用这个库(因为它在编译时工作得很好,正如我在 POM 文件中所说的那样没有问题)。我尝试了几种方法,例如使用 Add-Jars plugin,将其作为外部依赖项添加到 POM 文件中:
<!--medpost-->
<dependency>
<groupId>lib.medpost</groupId>
<artifactId>medpost</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/medpost/medpost/1.0/medpost.jar</systemPath>
</dependency>
除其他外,例如尝试将其指示为命令行参数,例如 API 中显示的第一个可选参数。它仍然抛出 ClassNotFoundException。非常感谢任何帮助。
首先,您需要将自定义 JAR 安装到本地 Maven 存储库中:
mvn install:install-file -Dfile=medpost.jar
-DgroupId=lib.medpost -DartifactId=medpost -Dversion=1.0
然后只需将以下标准 <dependency>
放入您的 POM 文件中:
<dependency>
<groupId>lib.medpost</groupId>
<artifactId>medpost</artifactId>
<version>1.0</version>
</dependency>
默认情况下,medpost.jar
将可用于编译 和 运行时,因此您无需指定范围,除非您有特殊需要 other比你的 OP 所说的还要多。
顺便说一句,您在编译期间没有遇到问题的可能原因是您的 IDE 在其类路径中包含 JAR。但是当你实际尝试运行时,依赖项不可用。
我正在尝试使用 Maven 编译和 运行 这个 java 项目。为此,我不得不使用 3rd 方 Jar 库,在 maven 存储库中找不到。我一直试图告诉 maven 在 运行 时间使用这个库(因为它在编译时工作得很好,正如我在 POM 文件中所说的那样没有问题)。我尝试了几种方法,例如使用 Add-Jars plugin,将其作为外部依赖项添加到 POM 文件中:
<!--medpost-->
<dependency>
<groupId>lib.medpost</groupId>
<artifactId>medpost</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/medpost/medpost/1.0/medpost.jar</systemPath>
</dependency>
除其他外,例如尝试将其指示为命令行参数,例如 API 中显示的第一个可选参数。它仍然抛出 ClassNotFoundException。非常感谢任何帮助。
首先,您需要将自定义 JAR 安装到本地 Maven 存储库中:
mvn install:install-file -Dfile=medpost.jar
-DgroupId=lib.medpost -DartifactId=medpost -Dversion=1.0
然后只需将以下标准 <dependency>
放入您的 POM 文件中:
<dependency>
<groupId>lib.medpost</groupId>
<artifactId>medpost</artifactId>
<version>1.0</version>
</dependency>
默认情况下,medpost.jar
将可用于编译 和 运行时,因此您无需指定范围,除非您有特殊需要 other比你的 OP 所说的还要多。
顺便说一句,您在编译期间没有遇到问题的可能原因是您的 IDE 在其类路径中包含 JAR。但是当你实际尝试运行时,依赖项不可用。