У меня есть проект, используя форму, он компилирует и работает просто отлично, но при компиляции с генерируемого муравьем он не работаетAnt сборки для графического интерфейса пользователя Intellij-IDEA формы
мой муравей файл имеет java2 задача и я добавил необходимые баночки моей Lib папки
<property name="javac2.home" value="lib/idea"/>
<path id="javac2.classpath">
<pathelement location="${javac2.home}/javac2.jar"/>
<pathelement location="${javac2.home}/jdom.jar"/>
<pathelement location="${javac2.home}/asm.jar"/>
<pathelement location="${javac2.home}/asm-commons.jar"/>
<pathelement location="${javac2.home}/jgoodies-forms.jar"/>
</path>
<taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.classpath"/>
<taskdef name="instrumentIdeaExtensions" classname="com.intellij.ant.InstrumentIdeaExtensions" classpathref="javac2.classpath"/>
но когда я запускаю свою программу, я получаю следующее сообщение об ошибке:
Exception in thread "main" java.lang.NoClassDefFoundError: com/intellij/uiDesigner/core/Spacer
Caused by: java.lang.ClassNotFoundException: com.intellij.uiDesigner.core.Spacer
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Я заметил, что версия, составленная из Idea, имеет некоторые классы в выходной папке (чего не хватает), в то время как у сгенерированной версии ant нет этих классов.
EDIT: я реализовал решение снизу, это означает, что я изменил мой муравей строить, чтобы извлечь содержимое forms_rt.jar в моей папке вывода
<unjar src="${javac2.home}/forms_rt.jar" dest="${webserver.output.dir}">
<patternset>
<include name="**/*.class"/>
</patternset>
</unjar>
спасибо, пошел с распаковкой, и он прекрасно работает – Ha11owed