可以在java中的构建时添加注释吗?
我正在寻找一种在构建期间向字段添加注释的方法。是否可以在生成期间修改“.class”文件内容? 就我而言可以在java中的构建时添加注释吗?,java,annotations,annotation-processor,build-time,Java,Annotations,Annotation Processor,Build Time,我正在寻找一种在构建期间向字段添加注释的方法。是否可以在生成期间修改“.class”文件内容? 就我而言 Class A{ x; y; } 我有不同的客户代码库。有些客户只需要对x字段进行注释,有些客户只需要对y字段进行注释。因此,我希望在构建期间添加注释。如果您想使用maven或ant修改.java文件或任何其他文件,您可以调用外部程序/脚本来修改文件 Maven pom.xml示例: <plugin> <artifactId>exec-maven-plugin&
Class A{
x;
y;
}
我有不同的客户代码库。有些客户只需要对x字段进行注释,有些客户只需要对y字段进行注释。因此,我希望在构建期间添加注释。如果您想使用maven或ant修改.java文件或任何其他文件,您可以调用外部程序/脚本来修改文件 Maven pom.xml示例:
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution>
<id>1234</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/scripts/modifyfiles.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
execmaven插件
org.codehaus.mojo
1234
生成源
执行官
${basedir}/scripts/modifyfiles.sh
蚂蚁:
<target name="run">
<exec executable="name-of-executable">
<arg value="${arg0}"/>
<arg value="${arg1}"/>
</exec>
</target>
另外,您必须编写一个外部脚本(创建一个可运行的jar、python、shell脚本、exe…)来完成您想要做的事情,比如读取所有的.java文件、查找字符串模式、将字符串放在上面一行
这样做,每次编译源代码之前都会调用脚本。如果要使用maven或ant修改.java文件或任何其他文件,可以调用外部程序/脚本来修改文件 Maven pom.xml示例:
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution>
<id>1234</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/scripts/modifyfiles.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
execmaven插件
org.codehaus.mojo
1234
生成源
执行官
${basedir}/scripts/modifyfiles.sh
蚂蚁:
<target name="run">
<exec executable="name-of-executable">
<arg value="${arg0}"/>
<arg value="${arg1}"/>
</exec>
</target>
另外,您必须编写一个外部脚本(创建一个可运行的jar、python、shell脚本、exe…)来完成您想要做的事情,比如读取所有的.java文件、查找字符串模式、将字符串放在上面一行
这样做,每次编译源代码之前都会调用脚本。为什么要这样做?通过一些外部配置,您可能更容易实现相同的效果。我们在谈论什么注释?外部配置意味着什么?我想向特定于客户的字段添加国有化注释。我不是Hibernate用户,但我认为您可以使用XML文件覆盖注释(对于不同的客户,您可以使用不同的版本)。为什么要这样做?通过一些外部配置,您可能更容易实现相同的效果。我们在谈论什么注释?外部配置意味着什么?我想向特定于客户的字段添加国有化注释。我不是Hibernate用户,但我认为您可以使用XML文件覆盖注释(您可以为不同的客户提供不同的版本)。