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