Как правильно добавить javamail и зависимости активации в файл ant build.xml? - PullRequest
1 голос
/ 23 июня 2019

Я пытаюсь отправить электронное письмо с использованием JavaMail и activation банок и компилирую свой проект с помощью 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>

Но когда я пытаюсь выполнить это (также используя муравей), он выдает

Исключение в потоке "main" java.lang.NoClassDefFoundError: javax / почта / MessagingException

Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 23 июня 2019

Если вам нужно добавить jar в путь к классам для компиляции кода, попробуйте следующее <javac>, и оно будет выглядеть так:

<javac srcdir="./src" destdir="./build/classes">   
    <classpath>
        <pathelement path="lib/javax.mail.jar"/>
        <pathelement path="lib/activation.jar"/>
    </classpath>
</javac>
0 голосов
/ 29 июня 2019

Проблема заключалась в том, что зависимости (javax.mail.jar и активации.jar) не были должным образом включены в jar, созданный ant, поэтому я создал толстый jar, и после этого все заработало.

...