10

Antlr4 maven プラグイン antlr4-maven-plugin でパッケージを指定するための形式は何ですか?

私は次のことができるはずだと感じています:

<plugin>
    <groupId>com.tunnelvisionlabs</groupId>
    <artifactId>antlr4-maven-plugin</artifactId>
    <version>4.0</version>
    <configuration>
        <arguments>package my.package.name</arguments>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>antlr4</goal>
            </goals>
        </execution>
    </executions>
</plugin>

しかし、それは次のエラーになります:

[ERROR] Failed to execute goal com.tunnelvisionlabs:antlr4-maven-plugin:4.0:antlr4 (default) on project my_project: Unable to parse configuration of mojo com.tunnelvisionlabs:antlr4-maven-plugin:4.0:antlr4 for parameter arguments: Cannot assign configuration entry 'arguments' with value 'package my.package.name' of type java.lang.String to property of type java.util.List -> [Help 1]
4

6 に答える 6

7

パッケージは、Java ファイルのパッケージが決定されるのと同様に、プロジェクト内のファイルの場所に基づいて自動的に決定されます。出力は、ソース ファイルの場所によって決定される場所にも配置されます。コードが生成されるパッケージを変更するには、文法ファイルを移動する必要があります。

他の引数は次のように指定できます。

<arguments>
  <argument>arg1</argument>
  <argument>arg2</argument>
</arguments>
于 2013-08-14T23:14:34.577 に答える
5

構成引数の構文が間違っています。

antlr4-maven-plugin の構成を から変更してください

<configuration>
    <arguments>package my.package.name</arguments>
</configuration>

に:

<configuration>
    <arguments>
        <argument>-package</argument>
        <argument>my.package.name</argument>
    </arguments>
</configuration>
于 2016-02-25T11:01:00.593 に答える
1

生成されたコードにパッケージ情報を追加するには、次の注釈を g4 ファイルに追加する必要があります。

@header {
    package com.this.is.my.package;
}
于 2014-05-16T12:39:28.673 に答える