【发布时间】:2011-05-06 15:53:18
【问题描述】:
如果我仍然不知道如何运行由 maven 生成的可执行 jar,我会为此感到羞耻。
myapp-uberjar.jar 包含以下内容:
com/myapp/...(我所有的项目包和类都在这里) 元信息/清单.MF 依赖1.jar 依赖项2.jar ...清单似乎也不错(为简洁起见,我在这里删除了一些依赖项):
清单版本:1.0 存档器版本:丛存档器 创建者:Apache Maven 建造者:rabdi 构建-Jdk:1.6.0_18 主类:com.myapp.core.main.Boot 类路径:spring-context-3.0.5.RELEASE.jar spring-context-support-3.0.5.RELEASE.jar spring-test-3.0.5.RELEASE.jar axis-1.4.jar axis-jaxrpc-1.4。罐轴 -saaj-1.4.jar 轴-wsdl4j-1.5.1.jar commons-discovery-0.2.jar xml-api s-1.0.b2.jar log4j-1.2.15.jar commons-pool-1.5.4.jar hamcrest-core-1.1.jar junit-de p-4.8.2.jar现在当我运行我的 jar 时,出现以下错误:
D:\myapp\target>java -jar myapp-uberjar.jar 线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/log4j/Logger 在 com.myapp.core.main.Boot.(Boot.java:14) 引起:java.lang.ClassNotFoundException:org.apache.log4j.Logger 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) ... 1 更多 找不到主类:com.myapp.core.main.Boot。程序将会退出。为什么它不起作用?如何让它工作。
谢谢!
【问题讨论】:
标签: java build maven jar classpath