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 Maven在运行时添加依赖项_Java_Maven_Jar - Fatal编程技术网

Java Maven在运行时添加依赖项

Java Maven在运行时添加依赖项,java,maven,jar,Java,Maven,Jar,我正在尝试使用maven编译和运行这个java项目。为此,我不得不使用maven存储库中找不到的第三方Jar库。我一直试图告诉maven在运行时使用这个库(因为它在编译时工作得非常好,正如我在POM文件中所说的那样,没有任何问题)。我尝试了几种方法,例如使用,将其作为外部依赖项添加到POM文件中: <!--medpost--> <dependency> <groupId>lib.medpost</groupId&g

我正在尝试使用maven编译和运行这个java项目。为此,我不得不使用maven存储库中找不到的第三方Jar库。我一直试图告诉maven在运行时使用这个库(因为它在编译时工作得非常好,正如我在POM文件中所说的那样,没有任何问题)。我尝试了几种方法,例如使用,将其作为外部依赖项添加到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>

自由医学邮报

. 它仍然抛出ClassNotFoundException。非常感谢您的帮助。

首先,您需要将自定义JAR安装到本地Maven存储库中:

mvn install:install-file -Dfile=medpost.jar 
    -DgroupId=lib.medpost -DartifactId=medpost -Dversion=1.0
然后只需将以下标准
放入POM文件:

<dependency>
    <groupId>lib.medpost</groupId>
    <artifactId>medpost</artifactId>
    <version>1.0</version>
</dependency>

自由医学邮报
医务所
1
默认情况下,
medpost.jar
将可用于编译和运行时,因此您不需要指定范围,除非您有特殊需要,而不是OP所述的范围


顺便说一下,编译过程中没有问题的原因可能是IDE的类路径上有JAR。但是当您实际尝试运行它时,依赖项不可用。

您能在m2中看到这个jar吗?它实际上是来自的jar依赖项列表。有些可以在maven存储库(如medpost)中找到,但其他更重要的存储库(如不在中央存储库中)。我甚至发现了这一点,但不幸的是,这一点部分被打破了,因为依赖项无法工作。请在Windows资源管理器中导航到C:\Users\jlazo\.m2\repository\。查找名为
medpost
的文件夹。我尝试了该命令(maven也需要-dpackage,我使用了=jar),但仍然出现了一个错误。在这种情况下,它会根据存储库进行检查:
原因是:org.apache.maven.project.dependencResolutionException:无法解析project org的依赖项。gsc:entrez解析:jar:1.0-SNAPSHOT:无法在central中找到工件库。medpost:medpost.jar:1.0(https://repo.maven.apache.org/maven2)
没关系,我发现了我的错误,我没有在groupId上使用确切的名称。现在可以了!thanksI需要在mvn install命令中包含-dpacking=jar以使其正常工作