Intellij не работают с Datanucleus

Я создаю модуль для компиляции моего Java-проекта в Intellij, а также я установил плагины для Dataneucleus. В плагине я установил флажок для включения энхансера в моем проекте, я выбрал JDO.

Компиляция работает правильно, и я вижу, что мои классы улучшены.

Затем я настроил артефакт для генерации войны, и моя конфигурация запуска имитирует сервер Tomcat 7.

После этого при запуске сервера конфигурации Tomcat Log выдает ошибку:

org.datanucleus.api.jdo.exceptions.ClassNotPersistenceCapableException: The class "model.Mem" is not persistable. This means that it either hasnt been enhanced, or that the enhanced version of the file is not in the CLASSPATH (or is hidden by an unenhanced version), or the Meta-Data/annotations for the class are not found.
    at     
org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:350)
at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:736)
at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:756)

Я не понимаю, что происходит, потому что я почти уверен, что мои классы правильно расширены. Однако, может быть, баночка не скомпилирована и не содержит правильных классов.

После некоторого исследования я решил создать свою собственную Задачу Муравья. Тем не менее, это не улучшает мои классы.

DataNucleus Enhancer (version 3.1.1) : Enhancement of classes
DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details

Вот след журнала dataneucleus:

2015-01-07 08:35:29 INFO  Enhancer:77 - DataNucleus Enhancer for API "JDO"
2015-01-07 08:35:29 INFO  Enhancer:77 - DataNucleus Enhancer (version 3.1.1) : Enhancement of classes
2015-01-07 08:35:29 DEBUG Enhancer:58 - DataNucleus Enhancer : Classpath
2015-01-07 08:35:29 DEBUG Enhancer:58 - >>  /Users/XXX/repository/EC2/WebContent/WEB-INF/classes
2015-01-07 08:35:29 DEBUG Enhancer:58 - >>  /Users/XXX/repository/EC2/WebContent/WEB-INF/lib/aopalliance-repackaged-2.2.0.jar
2015-01-07 08:35:29 DEBUG Enhancer:58 - >>  /Users/XXX/repository/EC2/WebContent/WEB-INF/lib/asm-4.0.jar
... I cut the log because it displays all jars that are in my classpath...
2015-01-07 08:35:29 INFO  Enhancer:77 - DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details

А вот цель моей задачи Ant (я показываю только часть моей задачи Ant, я могу показать все, если вы одна):

    <echo message="==================================================================="/>
    <echo message="Enhancing the MODULE files"/>
    <echo message="==================================================================="/>

    <!-- the classpath to enhance -->
    <path id="module.enhancer.classpath">
        <pathelement location="${module.classes.dir}"/>
        <path refid="module.lib.classpath"/>
    </path>

    <!-- define the task enhancer -->
    <taskdef name="nucleusenhancer"
             classpathref="module.enhancer.classpath"
             classname="org.datanucleus.enhancer.tools.EnhancerTask"/>

    <!-- enhance -->
    <nucleusenhancer classpathref="module.enhancer.classpath" verbose="true">
        <sysproperty key="log4j.configuration" value="file:log4j_enhancer.properties"/>
    </nucleusenhancer>



</target>

Буду рад, если вы поможете мне выяснить, почему энхансер не улучшает мои занятия. Потому что, если мы видим в журнале, энхансер правильно загружает мой каталог, в котором расположены классы.

У вас есть ключ, чтобы дать мне?

Спасибо!

0 ответов

Другие вопросы по тегам