【问题标题】:How to correctly add javamail and activation dependencies to ant build.xml file?如何正确地将 javamail 和激活依赖项添加到 ant build.xml 文件?
【发布时间】:2019-06-29 17:35:49
【问题描述】:

我尝试使用JavaMailactivation 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)时,它会抛出

线程“主”java.lang.NoClassDefFoundError 中的异常: javax/mail/MessagingException

我该如何解决这个问题?

【问题讨论】:

    标签: java ant jakarta-mail


    【解决方案1】:

    如果您需要在类路径中添加jar 来编译代码,那么您可以尝试下面的&lt;javac&gt;,它会如下所示:

    <javac srcdir="./src" destdir="./build/classes">   
        <classpath>
            <pathelement path="lib/javax.mail.jar"/>
            <pathelement path="lib/activation.jar"/>
        </classpath>
    </javac>
    

    【讨论】:

    • 但是与我的代码的实际区别是什么?不就是第一件插在第二件吗?
    • 他需要在&lt;javac&gt; 中添加他的第一个代码。检查我的代码和他的代码。
    • 它没有帮助,仍然抛出异常
    【解决方案2】:

    问题是依赖项(javax.mail.jar 和 activation.jar)没有正确包含在 ant 创建的 jar 中,所以我创建了一个 fat jar,然后一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 2019-07-27
      相关资源
      最近更新 更多