java - not - Tarea Ant para compilar formularios GUI(Intellij IDEA)
intellij idea show form (5)
¿Cómo puedo crear una tarea Ant para compilar formularios de GUI (XML) en Intellij IDEA? Uso Scala y Java en mi proyecto. Java solo para la clase de GUI, y lo creo con Intellij IDEA UI Designer.
IDEA proporciona una tarea Ant, javac2, que hace esto. Es un reemplazo directo para la tarea javac Ant estándar.
Primero, deberá incluir algo como lo siguiente cerca de la parte superior de su archivo de compilación Ant.
<path id="javac2.class.path">
<pathelement location="${idea.dir}/redist/forms_rt.jar"/>
<pathelement location="${idea.dir}/redist/javac2.jar"/>
<pathelement location="${idea.dir}/redist/annotations.jar"/>
</path>
<taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.class.path"/>
Aquí "$ {idea.dir}" se refiere al directorio de su instalación de IDEA. Esos frascos son redistribuibles, por lo que puedes copiarlos en tu proyecto si lo deseas y consultarlos allí. Una vez que hayas hecho eso, simplemente reemplaza cualquier llamada a las tareas "javac" con "javac2", y todo debería funcionar.
Para compilar scala, por supuesto, necesitará llamadas a scalac o fsc, pero eso no se ve afectado por todo esto.
El mismo problema aqui. Resuelto de esta manera:
<property name="idea.lib" value="C://Program Files (x86)//JetBrains//IntelliJ IDEA Community Edition 9.0.3//lib"/>
<path id="javac2.classpath">
<pathelement location="${idea.lib}/javac2.jar"/>
<pathelement location="${idea.lib}/jdom.jar"/>
<pathelement location="${idea.lib}/asm.jar"/>
<pathelement location="${idea.lib}/asm-commons.jar"/>
<pathelement location="${idea.lib}/jgoodies-forms.jar"/>
</path>
<taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.classpath"/>
Como esto aparece en google, esto es lo que se necesita:
<property name="javac2.home" value="${idea.home}/lib"/>
<path id="javac2.classpath">
<pathelement location="${javac2.home}/asm.jar"/>
<pathelement location="${javac2.home}/asm-all.jar"/>
<pathelement location="${javac2.home}/javac2.jar"/>
<pathelement location="${javac2.home}/jdom.jar"/>
<pathelement location="${javac2.home}/asm-commons.jar"/>
<pathelement location="${javac2.home}/jgoodies-forms.jar"/>
</path>
La clave es asm y asm-all, que resuelve los errores de ClassReader y ClassWriter. Tuve que mirar en los frascos para descubrirlo. "javac2.home" dependerá del sistema operativo. Esto está en Intellij Ultimate.
Esta es la forma correcta:
<property name="javac2.home" value="C://Program Files (x86)//JetBrains///IntelliJ IDEA 14.1.4//lib"/>
<path id="javac2.classpath">
<pathelement location="${javac2.home}/asm.jar"/>
<pathelement location="${javac2.home}/asm-all.jar"/>
<pathelement location="${javac2.home}/javac2.jar"/>
<pathelement location="${javac2.home}/jdom.jar"/>
<pathelement location="${javac2.home}/asm-commons.jar"/>
<pathelement location="${javac2.home}/jgoodies-forms.jar"/>
</path>
Funciona tanto para Intellij Community como para Ultimate. Probado en ambos. Simplemente cámbielo a su ruta de comunidad Intellij, por lo que "IntelliJ IDEA Community Edition 14.1.4", por ejemplo.