在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>
Run Code Online (Sandbox Code Playgroud)
但这会导致以下错误:
[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]
Run Code Online (Sandbox Code Playgroud)
程序包将根据项目中文件的位置自动确定,类似于为Java文件确定程序包的方式.输出也放置在由源文件的位置确定的位置.要更改生成代码的包,您需要移动语法文件.
其他参数可以像这样指定:
<arguments>
<argument>arg1</argument>
<argument>arg2</argument>
</arguments>
Run Code Online (Sandbox Code Playgroud)
如果您是我,我将为每个程序包创建一个Maven项目并尝试执行此操作
<plugin>
<groupId>org.antlr</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
<version>4.0</version>
<configuration>
<sourceDirectory>${basedir}/src</sourceDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>antlr4</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但是通常,当我在Maven配置中传递参数时,我将执行以下操作。但我不确定antlr4中的语法
<plugin>
<groupId>com.tunnelvisionlabs</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
<version>4.0</version>
<configuration>
<arguments>
<argument>-package</argument>
<argument>my.package.name</argument>
</arguments>
</configuration>
<executions>
<execution>
<goals>
<goal>antlr4</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
编辑:注意-前面的,package以便antlr-maven-plugin会将其识别为参数
您的配置参数语法错误。
请将 antlr4-maven-plugin 的配置从
<configuration>
<arguments>package my.package.name</arguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
到:
<configuration>
<arguments>
<argument>-package</argument>
<argument>my.package.name</argument>
</arguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4086 次 |
| 最近记录: |