我是一个挂在Eclipse上的组中的孤独Emacs用户。通过Eclipse“组织”或“清理”的导入,代码差异一次又一次变大。
我对Java中的导入样式主题没有强烈的意见,但我确实希望尽量减少差异。我该怎么办?
我们使用Maven2进行构建;有插件可以帮助我吗?可以将一块Eclipse抽象出来吗?变成Maven插件?我目前使用ImportScrubber并遇到过其他一些同样的东西。我真正想要的是一个可以与构建集成的Maven插件。
除非上述内容,否则我会将ImportScrubber调用放入.git/hooks/post-commit
。
答案 0 :(得分:2)
Hybridlabs项目(开源生成器框架)内部使用的openArchitectureWare美化器正在寻找您正在寻找的东西。正如此blog entry中所述,美化器以Google Code project形式提供,其documentation描述了maven 2插件:
<plugin>
<groupId>org.hybridlabs</groupId>
<artifactId>maven-beautifier-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>beautify-imports</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- Recursively scan for *.java and beautifies imports -->
<inputDirectory>${pom.basedir}/..</inputDirectory>
<!--outputDirectory>${pom.basedir}/..</outputDirectory>
<runBeautifier>true/runBeautifier>
<runJalopy>false</runJalopy-->
</configuration>
</plugin>
source tree确实存在一个魔力,但它与上面提到的groupId
不匹配(这有点令人困惑)而且我无法在maven的公众中找到该插件库。
对于this thread中记录的AndroMDA插件存储库中提供的版本,你可能会更幸运(插件确实存在于http://team.andromda.org/maven2/中)。
该插件正在
org.apache.maven.plugins.maven-beautifier-plugin
。 它可以使用简短形式运行:mvn beautifier:beautify-imports
。它 也可以作为项目的一部分运行 通过添加插件声明pom 在<build><plugins>
下:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-beautifier-plugin</artifactId> <version>1.0</version> <executions> <execution> <goals> <goal>beautify-imports</goal> </goals> </execution> </executions> <configuration> <inputDirectory>${pom.basedir}/target/src</inputDirectory> </configuration> </plugin>
或者联系项目的作者(例如通过twitter或邮件)。
答案 1 :(得分:1)
我认为你们所有人(Eclipse,Emacs或其他任何用户)应该使用像Jalopy这样支持Eclipse和Maven的东西。这样,只要在代码检查过程中通过漂亮的打印机运行代码就会变得无关紧要。说 - 我不确定Jalopy是否支持组织导入而不是对它们进行排序
答案 2 :(得分:0)
您的商店是否有关于如何组织进口的代码标准?如果是这样,那你就不走运了。最小化差异对于增加代码改进是一个小小的牺牲。
答案 3 :(得分:0)
我还找到了ImportScrubber plugin。不能证明它的质量。