Java Maven将行附加到文件的目标

Java Maven将行附加到文件的目标,java,maven,protocol-buffers,Java,Maven,Protocol Buffers,上下文是,在编译之前,有一个目标是下载一个.proto(Google Protobuffer)文件,以便在编译之后生成文件。在这个原型文件中没有提到任何包,因此当生成类时,它们不会出现在任何正确的包中,因此无法导入和使用 这里的原型文件可以看作是一个简单的文本文件。我有一个非常具体的需要-我想在这个文件的开头添加一些文本 可以使用maven吗 谢谢。您可以使用nashorn maven插件 <build> <plugins> <plugin&

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

这里的原型文件可以看作是一个简单的文本文件。我有一个非常具体的需要-我想在这个文件的开头添加一些文本

可以使用maven吗


谢谢。

您可以使用
nashorn maven插件

<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>

io.github.michaldo
nashorn maven插件
0.0.1
过程资源
var Files=Java.type('Java.nio.file.Files');
var path=Java.type('Java.nio.file.path');
var content=new java.lang.String(Files.readAllBytes(path.get($basedir+'/a.txt'));
content=“来自nashorn with love\n”+内容;
Files.write(path.get($basedir+'/a.txt'),
content.getBytes());
评估

这样做是可能的。但在简单文本文件中的处理比照片更简单。有什么插件可以做到这一点吗?你为什么说照片?我怀疑他把“proto”误读为“photo”。是的,对不起。我把原稿误读为照片@astrohome您可以尝试在maven repo中找到,我认为它可能有一些插件可以做到这一点,如果没有,您可以使用maven ant,然后运行ant脚本将文本附加到您的文件中。