Maven的目标是将行追加到文件中

时间:2016-04-14 10:04:04

标签: java maven protocol-buffers

上下文是在编译之前,有一个目标是下载.proto(Google Protobuffer)文件以生成文件。在这个proto文件中没有提到包,所以当生成类时,它们看起来没有任何正确的包,因此无法导入和使用。

此处的原型文件可能被视为简单的文本文件。我有一个非常具体的需求 - 我想在这个文件的开头添加一些文本。

是否可以使用maven?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用nashorn-maven-plugin

<build>
    <plugins>
        <plugin>
            <groupId>io.github.michaldo</groupId>
            <artifactId>nashorn-maven-plugin</artifactId>
            <version>0.0.1</version>
            <executions>
                <execution>
                    <phase>process-resources</phase>
                    <configuration>
                        <script>
                            var Files = Java.type('java.nio.file.Files');
                            var Paths = Java.type('java.nio.file.Paths');
                            var content = new java.lang.String(Files.readAllBytes(Paths.get($basedir+ '/a.txt')));
                            content = "From nashorn with love\n" + content;
                            Files.write(Paths.get($basedir + '/a.txt'),
                            content.getBytes());
                        </script>
                    </configuration>
                    <goals>
                        <goal>eval</goal>
                    </goals>
                </execution>

            </executions>

        </plugin>
    </plugins>
</build>