在我的pom.xml中,我配置了一个插件,将某些Protobuf文件转换为Java类文件。它看起来像这样:
<plugin>
<groupId>com.github.igor-petruk.protobuf</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.5.3-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<protocCommand>${basedir}/protoc/bin/protoc</protocCommand>
<inputDirectories>
<inputDirectory>proto</inputDirectory>
</inputDirectories>
</configuration>
</plugin>
从这个Maven中生成.classpath
文件,其中包含以下条目:
<classpathentry kind="src" output="target/classes" path="target/generated-sources/protobuf">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
我现在想要Maven做的是在该类路径条目中添加一个额外的“属性”条目,以便条目如下所示:
<classpathentry kind="src" output="target/classes" path="target/generated-sources/protobuf">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
</attributes>
</classpathentry>
就像那样,我不会从代码的那一部分得到警告。
此刻我只是不知道该怎么做。我必须编辑哪些文件或其他设置?在Eclipse中我可以这样做吗? 但这或多或少是关于如何修改Maven以包含自定义条目的一般性问题,因为我们还有一些我们想要添加自定义内容的位置。
答案 0 :(得分:2)
Login and vote for this Feature-Request:
已有补丁,改进它。
答案 1 :(得分:0)
示例中的Eclipse配置由m2eclipse的项目配置生成,我很确定它现在不支持此类功能。虽然您可以尝试提交增强请求。见http://www.eclipse.org/m2e/support/
答案 2 :(得分:0)
不确定是否可以使用maven。你必须从maven调用ant插件。添加自定义逻辑以在Ant任务中添加额外的行。
在插件下添加ant插件,以确保在插件处于同一阶段后调用ant插件。确保ant插件与插件具有相同的相位。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase><!--the same phase as protobuf-maven-plugin phase--></phase>
<configuration>
<tasks>
<!--
Add ant xmltask or ant other task to add your line to file
-->
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>