我有一个maven-multi项目,当我从它创建一个新的eclipse项目时(来自SCM的M2E 1.0“Checkout Maven项目”)我希望自动为该项目配置eclipse checkstyle插件。
因此,我在父pom的maven-eclipse-plugin
部分添加了<pluginManagement>
,并将其配置为生成.checkstyle
文件以及其他项目性质CheckstyleNature
。在模块中,我在构建部分添加了maven-eclipse-plugin
的名称。但是当我检查项目没有发生任何事情时,文件不会生成,并且不会添加性质。
所以我认为我做的事情完全错了,但是怎么做得对呢?
父pom - 插件管理部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
<wtpversion>2.0</wtpversion>
<additionalBuildcommands>
<buildCommand>
<name>org.eclipse.ajdt.core.ajbuilder</name>
<arguments>
<aspectPath>org.springframework.aspects</aspectPath>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
</buildCommand>
</additionalBuildcommands>
<additionalProjectnatures>
<projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
<projectnature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</projectnature>
</additionalProjectnatures>
<additionalConfig>
<file>
<name>.checkstyle</name>
<content>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
<fileset name="all" enabled="true" check-config-name="My Checkstyle rules" local="false">
<file-match-pattern match-pattern="." include-pattern="true"/>
</fileset>
<filter name="FilesFromPackage" enabled="true">
<filter-data value="target" />
<filter-data value="src/main/resources"/>
<filter-data value="src/test/java"/>
<filter-data value="src/test/resources"/>
<filter-data value="src/main/webapp" />
</filter>
</fileset-config>
]]>
</content>
</file>
</additionalConfig>
</configuration>
</plugin>
模块pom - 插件部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
</plugin>
答案 0 :(得分:5)
Can I Configure m2eclipse through pom.xml?中有关于此主题的详细解答:
Eclipse Checkstyle插件的完全自动配置只能通过ProjectConfigurator实现,例如: m2e-code-quality或m2e-extensions。
对于版本1.0的m2e,您可以通过m2e市场在Preferences-&gt; Maven-&gt; Discovery-&gt;“Open Catalog”下安装它们。有关详细信息,请参阅bug tracking for integration of m2e-code-quality into the m2e marketplace。
即使对于FindBugs和Sonar,也有基于AntRun和XMLTask的解决方案。结帐后只需手动触发一次。
答案 1 :(得分:4)
maven eclipse插件与eclipse的m2e插件不同,我假设你正在尝试使用它。基本上你不应该同时使用两者。
您可以从命令行使用mvn eclipse:eclipse生成项目文件,然后您可以将项目导入到eclipse中。 M2e的工作方式非常不同,而是在将项目导入为maven插件时使用pom文件。可能你想要的是配置checkstyle插件,希望eclipse会选择设置。同样适用于findbugs和其他maven插件。
但是,我实际上更喜欢使用mvn eclipse:eclipse并没有按预期实际验证上述工作。 M2e对我来说太浪费时间了,似乎经常出错做错事。我特别讨厌它如何习惯在命令行与maven交互后基本上重建所有内容。但很多人似乎都喜欢m2e。
答案 2 :(得分:1)
必须安装“Checkstyle m2e”连接器
将配置从maven-checkstyle-plugin应用到eclipse checkstyle插件
在window \ preferences \ Maven \ Discover \ Open Catalog
下当然,必须更改pom,以便配置检查样式插件,而不是eclipse插件。
不幸的是它不适合我! (我不会删除答案,因为它可能适用于其他人。)