Ant 使用蚂蚁的智能建筑

Ant 使用蚂蚁的智能建筑,ant,intellij-idea,Ant,Intellij Idea,多亏了Android Studio,我现在正尝试将IntelliJ理念用于我的非Android项目 我已经安装了IntelliJ社区版(12.1.4)的最新版本。我已经创建了一个简单的测试项目,其中包含几个类和JavaCC语法定义,以进行测试。从命令行,ant脚本可以很好地构建项目 从蚂蚁建筑的角度来看,我把一切都配置得很好 但我在IntelliJ内部还没有很好的工作。我确实执行了ant脚本的这一部分,以从语法文件更新生成的Java源代码。我可以在日志中看到,运行javaCC的ant任务每次都被

多亏了Android Studio,我现在正尝试将IntelliJ理念用于我的非Android项目

我已经安装了IntelliJ社区版(12.1.4)的最新版本。我已经创建了一个简单的测试项目,其中包含几个类和JavaCC语法定义,以进行测试。从命令行,ant脚本可以很好地构建项目

从蚂蚁建筑的角度来看,我把一切都配置得很好

但我在IntelliJ内部还没有很好的工作。我确实执行了ant脚本的这一部分,以从语法文件更新生成的Java源代码。我可以在日志中看到,运行javaCC的ant任务每次都被调用,就在“Make”之前

但是IntelliJ没有“看到”树的那一部分

在“文件->项目结构->模块”中,我对源路径进行了如下配置:

<project-root>
    build
        classes     <- Excluded
        java        <- Sources
    libs
    src
        main
            java    <- Sources
            javacc  <- Place where grammar file lives.
        test
            data
            java    <- Test sources
build/java
中,是运行JavaCC生成的所有源代码(在适当的包子目录中)。那么IntelliJ为什么不去接他们呢

一如既往,谢谢你的帮助

史蒂夫

更新

我的计算机运行Linux,确切地说是Debian,JavaCC已经安装到/usr/share/java中

1) 。创建新项目“测试”

2) 。在项目根目录下创建一个新目录:
javacc

3) 。将以下文件
Test.jj
添加到
javacc

options {
    STATIC = false;
}

PARSER_BEGIN(Test)

package com.example;

import java.io.StringReader;

public class Test {

    private boolean mIsBaseball = false;

    public Test(final String text) {
        this(new StringReader(text));
    }
}
PARSER_END(Test)

TOKEN: { <DOT:          "."> }
TOKEN: { <SLASH:        "/"> }

void dummy():
{
}
{
    <SLASH> <DOT>
}
5) 。在“Ant Build”窗口中注册新的构建脚本

6) 。从“和构建”窗口运行
gammar
目标。您应该在
${PROJECT\u BASE}/out/src
中看到一些新的Java类

7) 。在“项目结构->模块->路径”中选择“使用模块输出路径”,并取消选择“排除输出路径”

6) 。在“项目结构->模块->源”中添加“out->src”作为源目录。
src
out/scr
应该是唯一的列表

8) 。将
Main.java
编辑为以下内容:

package com.example;

import com.example.Test;

public class Main {

    public static void main(String[] args) {
        try {
            Test test = new Test("/.");
            test.dummy();

        } catch (Throwable cause) {
            cause.printStackTrace();
        }
    }
}
正如您所看到的,生成的源代码是不可见的(我可以在我的源代码上看到)

9) 。通过命令行,您可以非常愉快地编译和运行东西

$ ant
$ java -cp out/Test com.example.Main
Call:   dummy
  Consumed token: <"/" at line 1 column 1>
  Consumed token: <"." at line 1 column 2>
Return: dummy
$ 
$ant
$java-cp out/Test com.example.Main
呼叫:哑巴
已消费代币:
已消费代币:
返回:虚拟
$ 

IDEA是否在
文件
|
同步
后看到源代码?嗨,抄送。不,没有!请分享一个将重现问题的示例项目。嗨,抄送。我在上面添加了一个简单的示例(在更新下)。顺便说一句,我的IntelliJ版本是12.1.4(IC-129.713,建立于2013年6月10日)。非常感谢您在这方面的帮助。如果您只需通过一些文件交换服务(dropbox、google drive、skydrive等)压缩并共享项目目录,将会更加容易。
package com.example;

import com.example.Test;

public class Main {

    public static void main(String[] args) {
        try {
            Test test = new Test("/.");
            test.dummy();

        } catch (Throwable cause) {
            cause.printStackTrace();
        }
    }
}
$ ant
$ java -cp out/Test com.example.Main
Call:   dummy
  Consumed token: <"/" at line 1 column 1>
  Consumed token: <"." at line 1 column 2>
Return: dummy
$