我正在尝试使用maven编译和运行这个java项目。为此,我必须使用第三方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。非常感谢任何帮助。
答案 0 :(得分:3)
首先,您需要将自定义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
将可用于编译和运行时,因此您不需要指定范围,除非您有特殊需要,而不是OP声明的内容
顺便说一句,编译过程中没有问题的可能原因是你的 IDE 在其类路径上有JAR。但是当你实际上尝试运行它时,依赖项不可用。