Intellij idea Intellij IDEA GUI窗体的Ant构建

Intellij idea Intellij IDEA GUI窗体的Ant构建,intellij-idea,Intellij Idea,我有一个使用表单的项目,它编译和运行都很好, 但是当使用生成的ant进行编译时,它不会运行 我的ant文件有java2任务,我将所需的JAR添加到我的lib文件夹中 <property name="javac2.home" value="lib/idea"/> <path id="javac2.classpath"> <pathelement location="${javac2.home}/javac2.jar"/> <path

我有一个使用表单的项目,它编译和运行都很好, 但是当使用生成的ant进行编译时,它不会运行

我的ant文件有java2任务,我将所需的JAR添加到我的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"/>
我注意到根据Idea编译的版本在输出文件夹中有一些类(缺少什么),而ant生成的版本没有这些类

编辑:我从下面实现了解决方案,这意味着我修改了我的ant构建,将forms\u rt.jar的内容提取到我的输出文件夹中

<unjar src="${javac2.home}/forms_rt.jar" dest="${webserver.output.dir}">
          <patternset>
              <include name="**/*.class"/>
          </patternset>
</unjar>

您需要将IDEA\u HOME\redist中的表单\u rt.jar包含到应用程序的类路径中,或者通过清单,或者通过从这个jar解包类,并将它们与应用程序的最终jar打包在一起


当您从IDEA编译时,它会自动将所需的类复制到输出(通过设置| GUI设计器中的一个选项进行控制)。

谢谢,使用了解包解决方案,它工作得很好
<unjar src="${javac2.home}/forms_rt.jar" dest="${webserver.output.dir}">
          <patternset>
              <include name="**/*.class"/>
          </patternset>
</unjar>