如何正确地将 javamail 和激活依赖项添加到 ant build.xml 文件?
How to correctly add javamail and activation dependencies to ant build.xml file?
我尝试使用 JavaMail
和 activation
jar 发送电子邮件并使用 ant
编译我的项目。
Ant 类路径如下所示:
<path id="classpath.test">
<pathelement location="lib/javax.mail.jar"/>
<pathelement location="lib/activation.jar"/>
<pathelement location="build/classes/"/>
</path>
Ant 编译看起来像这样:
<target name="compile">
<mkdir dir="build/classes/"/>
<javac srcdir="src" destdir="build/classes/">
<classpath refid="classpath.test"/>
</javac>
<copy todir="build/classes/">
<fileset dir="src">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
但是当我尝试执行它时(也使用 ant),它会抛出
Exception in thread "main" java.lang.NoClassDefFoundError:
javax/mail/MessagingException
我该如何解决这个问题?
如果你需要在类路径中添加一个jar
来编译代码,那么你尝试下面的<javac>
,它看起来像这样:
<javac srcdir="./src" destdir="./build/classes">
<classpath>
<pathelement path="lib/javax.mail.jar"/>
<pathelement path="lib/activation.jar"/>
</classpath>
</javac>
问题是依赖项(javax.mail.jar 和 activation.jar)没有正确包含在 ant 创建的 jar 中,所以我创建了一个 fat jar,然后一切正常。
我尝试使用 JavaMail
和 activation
jar 发送电子邮件并使用 ant
编译我的项目。
Ant 类路径如下所示:
<path id="classpath.test">
<pathelement location="lib/javax.mail.jar"/>
<pathelement location="lib/activation.jar"/>
<pathelement location="build/classes/"/>
</path>
Ant 编译看起来像这样:
<target name="compile">
<mkdir dir="build/classes/"/>
<javac srcdir="src" destdir="build/classes/">
<classpath refid="classpath.test"/>
</javac>
<copy todir="build/classes/">
<fileset dir="src">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
但是当我尝试执行它时(也使用 ant),它会抛出
Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException
我该如何解决这个问题?
如果你需要在类路径中添加一个jar
来编译代码,那么你尝试下面的<javac>
,它看起来像这样:
<javac srcdir="./src" destdir="./build/classes">
<classpath>
<pathelement path="lib/javax.mail.jar"/>
<pathelement path="lib/activation.jar"/>
</classpath>
</javac>
问题是依赖项(javax.mail.jar 和 activation.jar)没有正确包含在 ant 创建的 jar 中,所以我创建了一个 fat jar,然后一切正常。