我能够在jar文件中为类创建一个对象,这是另一个模块。
我创建了一个带有主类的新java项目,将jar添加到lib文件夹中,并且我能够为jar类(com.canonical.client)创建对象,同时将主类作为java应用程序运行。
现在,我已经将这个java项目转换为maven。当我试图清理和安装时,我无法成功地构建。给出的错误是“包com.canonical.client不存在”。
在杰斯珀斯的建议下,我能够建造这个项目。在调用创建客户端对象的方法时,我将得到以下异常。在那个罐子里,它找一些其他的罐子。
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中的前2行如下,实际上它引用了118个jar,
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 我需要做些什么才能解决这个问题。请指教。
发布于 2015-06-02 09:50:55
您可以在本地Maven存储库中使用如下命令进行安装你的罐子:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id>
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>例如,您必须填写您自己的组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>发布于 2015-06-02 10:47:39
您可以通过这种方式在POM.xml中添加自定义jar
<dependency> <groupId>com.canonicalclient</groupId> <artifactId>xxx</artifactId> <version></version> <systemPath>${basedir}/lib/xxx.jar</systemPath> </dependency>
https://stackoverflow.com/questions/30592533
复制相似问题