【发布时间】:2011-11-22 05:11:10
【问题描述】:
您好,我正在使用 maven2 构建我的项目。我可以使用命令mvn clean install 使用maven build 生成jar 文件。
我已将此插件添加到我的 pom.xml 清单文件中,以使类路径条目和要执行的主类:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.test.TestExample</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
当我构建项目并提取 jar 文件时,它生成的 manifest.mf 文件并将主类条目添加为:Main-Class: com.test.TestExample 并将 jar 文件添加到 Class-Path:mail-1.4.jar。但是当我尝试使用命令java -jar TestJar.jar 执行 jar 文件时,我得到了异常:
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
任何解决这个问题的指针都非常有帮助..
提前谢谢..
【问题讨论】:
-
你确定吗?对我来说按原样工作。您正在解压缩 jar 文件并检查清单吗?插件在 builds/plugins 元素中?
-
是的,戴夫,我已经编辑了我的问题。请看一看。
-
我在 pom.xml 中添加了 mail.jar 的依赖关系,它在我的本地路径
D:\jars\mail.jar中,我正在运行 eclipse,并将条目添加到 mail.jar 的构建路径中使用本地路径,现在我试图通过 jar 文件运行,它无法找到 mail.jar。如何使 mail.jar 文件可用于我要执行的 jar? -
将其放在清单文件中指定的类路径中。
-
我有一个名为 lib 的本地文件夹,其中有所有的 jar,比如 mail.jar。我可以使用该引用来使 mail.jar 可用吗?