我正在处理一个新项目,我需要使用idlpp
命令转换多个idl
文件。
我在 IntelliJ 2020.1 下使用 Maven 工作。
这是我的代码(只是插件exec-maven-plugin(:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>generate-source</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${idlpp_exec}</executable>
<workingDirectory>${gen-idl-dir}</workingDirectory>
<commandlineArgs>${example-idl}</commandlineArgs>
<commandlineArgs>${basic-idl}</commandlineArgs>
<commandlineArgs>${weather-idl}</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
如果我放置一个commandlineArgs
它的效果很好,但问题是我有几个idl
文件。可以在一个commandlineArgs
中编译所有内容,还是不可能?
谢谢
编辑
我忘了在这里指定通话${}
背后的原因:
<gen-idl-dir>${project.build.directory}/generated-sources/idl/</gen-idl-dir>
<example-idl>-l java -S "../../../../IDL_Files/Chat.idl"</example-idl>
<basic-types-idl>-l java -S "../../../../IDL_Files/Basic_Types.idl"</basic-types-idl>
<common-types-idl>-l java -S "../../../../IDL_Files/Common_Types.idl"</common-types-idl>
命令<commandlineArgs>${example-idl} ${basic-types-idl}</commandlineArgs>
也不起作用,因为调用我如何解决这个问题?
基于插件文档,commandlineArgs
中的多个参数用空格分隔,
已执行程序的空格分隔的参数。例如:"-j 20">
所以你应该尝试:
<commandlineArgs>${example-idl} ${basic-idl} ${weather-idl}</commandlineArgs>
使用空格分隔参数。 使用-j 30
或-j 10
取决于您希望拥有的空间。 这也是我们在 java 中格式化的方式,除了它们在前面添加了 %。
希望对您有所帮助!