簡體   English   中英

用於編譯GUI表單的Ant任務(Intellij IDEA)

[英]Ant task for compiling GUI forms (Intellij IDEA)

如何在Intellij IDEA中創建Ant任務來編譯GUI表單(XML)? 我在我的項目中使用Scala和Java。 Java僅用於GUI類,我使用Intellij IDEA UI Designer創建它。

請不要打敗我,但在設置'Generate Ant Build'對話框之后:

在此輸入圖像描述

錯誤消失了:

在此輸入圖像描述

IDEA提供了一個執行此操作的Ant任務javac2。 它是標准javac Ant任務的直接替代品。

首先,您需要在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"/>

這里“$ {idea.dir}”指的是您的IDEA安裝目錄。 這些罐子是可再分發的,因此如果您願意,可以將它們復制到您的項目中,並在那里引用它們。 一旦你完成了,只需用“javac2”替換對“javac”任務的任何調用,一切都應該正常工作。

當然,要編譯scala,您需要調用scalac或fsc,但這些都不受所有這些的影響。

同樣的問題在這里 解決這個問題:

<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"/>

由於這出現在谷歌,這里是需要的:

<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>

關鍵是asm和asm-all解決了ClassReader和ClassWriter錯誤。 我不得不在罐子里找到它。 “javac2.home”將取決於操作系統。 這是在Intellij Ultimate上。

這是正確的方法:

<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>

適用於Intellij社區和Ultimate。 兩者都測試過。 只需將其更改為Intellij社區路徑,例如“IntelliJ IDEA Community Edition 14.1.4”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM