如何在maven中添加我的自定义jar

时间:2015-06-02 09:42:00

标签: java maven jar

我能够在jar文件中为类创建一个对象,这是另一个模块。

我创建了一个带有主类的新java项目,将jar添加到lib文件夹中,我可以在运行主类时为该jar的类创建对象(com.canonical.client)作为一个java应用程序。

现在,我已将此java项目转换为maven。当我尝试清理和安装时,我无法成功构建。给出的错误是"包com.canonical.client不存在"。

在Jespers的建议之后,我能够建立这个项目。我在调用创建客户端对象的方法时遇到以下异常。在那个罐子里,它寻找其他一些罐子。

    java.lang.ClassNotFoundException: ch.qos.logback.core.Context
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
        at com.mmf.controllers.PickEquifaxController.handleRequestInternal(com.mmf.controllers.PickEquifaxController:33)

我的清单文件中该jar中的前两行如下,其实际引用的是118个罐子,

    Manifest-Version: 1.0

    Class-Path: . canonicalclient_lib/activemq-camel-5.8.0.jar canonicalclient_lib/activemq-core-5.6.0.jar 
    canonicalclient_lib/activemq-pool-5.6.0.jar canonicalclient_lib/activemq-protobuf-1.1.jar 

我需要做些什么来获得解决方案。请咨询。

2 个答案:

答案 0 :(得分:1)

您可以使用以下命令在本地Maven存储库中install your JAR

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id>
    -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

您必须填写自己的群组ID,工件ID,版本和包装 - 包装很可能是jar - 例如:

mvn install:install-file -Dfile=myjarfile.jar -DgroupId=com.canonical
    -DartifactId=client -Dversion=1.0 -Dpackaging=jar

执行此操作后,您可以像使用任何其他Maven依赖项一样使用它,方法是使用pom.xml中的组ID,工件ID和版本指定依赖项:

<dependency>
    <groupId>com.canonical</groupId>
    <artifactId>client</artifactId>
    <version>1.0</version>
</dependency>

答案 1 :(得分:0)

您可以通过这种方式在POM.xml中添加自定义jar

<dependency> <groupId>com.canonicalclient</groupId> <artifactId>xxx</artifactId> <version></version> <systemPath>${basedir}/lib/xxx.jar</systemPath> </dependency>