簡體   English   中英

使用Eclipse風格的Maven2組織導入?

[英]Organize imports with Maven2, Eclipse-style?

我是掛在Eclipse上的一個單獨的Emacs用戶。 一次又一次,通過Eclipse進行“組織”或“清理”的導入使代碼差異變得更大。

我對Java的導入樣式沒有強烈的意見,但我確實希望盡量減少差異。 我能做什么?

我們使用Maven2進行構建; 有可以幫助我的插件嗎? 可以將Eclipse的一部分提取出來並轉換為Maven插件嗎? 我目前使用ImportScrubber ,並且遇到了其他一些做相同事情的獨立部件。 我真正想要的是可以與構建集成的Maven插件。

除上述限制外,我將在.git/hooks/post-commit放入一個ImportScrubber調用。

openArchitectureWare項目(一個開放源代碼生成器框架)內部使用的Hybridlabs美化器正在完成您要尋找的工作。 如本博客條目所述,美化器可以作為Google Code項目使用 ,其文檔描述了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>

源代碼樹中確實存在一個mojo,但是它與上面提到的groupId不匹配(這有點令人困惑),而且我無法在maven的公共存儲庫中找到該插件。

也許您會更幸運地使用此線程中記錄的AndroMDA插件存儲庫中可用的版本(該插件確實存在於http://team.andromda.org/maven2/中 )。

該插件在org.apache.maven.plugins.maven-beautifier-plugin 可以使用以下簡短格式運行: mvn beautifier:beautify-imports 通過在<build><plugins>下添加插件聲明,它也可以作為項目pom的一部分運行:

 <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或通過郵件)。

我認為所有人(Eclipse,Emacs或其他用戶)都應該使用Jalopy之類的東西,該東西同時支持EclipseMaven 這樣一來,只要將代碼通過漂亮打印機運行作為檢查代碼的一部分,修改代碼的位置就變得無關緊要。說-我不確定Jalopy是否支持對導入進行排序以外的組織導入

我還找到了ImportScrubber插件 尚不能證明其質量。

您的商店是否有關於進口組織方式的代碼標准? 如果是這樣,那么您就不走運了。 最小化差異是對增量代碼改進的一個小犧牲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM