我能够在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
我需要做些什么来获得解决方案。请咨询。
答案 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>