我有一个maven-multi项目,当我从它创建一个新的eclipse项目时(来自SCM的M2E 1.0"Checkout Maven项目")我希望自动为该项目配置eclipse checkstyle插件.
所以我添加了maven-eclipse-plugin
父pom的 <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" …
Run Code Online (Sandbox Code Playgroud) 是否有可能在maven构建结束时自动刷新eclipse中项目的文件和文件夹.通常我是从命令行构建的.构建之后,例如应该刷新目标文件夹.
附加信息:maven构建在命令行中运行,eclipse应在结束时自动更新.
使用来自cargo-maven2-plugin的run mojo,我想知道关闭容器的更好方法.
控制台输出显示Ctrl + C停止,但似乎什么也没做.
如果我终止,它会留下一个孤儿java.exe进程,我必须自杀.
难道我做错了什么?这有点麻烦.
编辑:我在独立配置中使用Tomcat.如果我使用嵌入式Jetty,自然终止工作,但我们需要Tomcat.
我们有一个相当复杂的多模块Maven项目.有Flex模块,GWT模块,Java模块和许多WAR模块.为了简单地将这些项目导入Eclipse的过程,历史上我们在源代码树中包含了所有相关的Eclipse项目文件.
但是,这在过去一直是问题的根源,因为有时这些文件会被意外修改并签入...因此会给其他开发人员带来问题.随着M2E的出现及其对配置器的新支持,以帮助在导入时设置Eclipse项目,我们正在重新考虑这一策略.
一般来说,项目是否包含Subversion/Git/etc中的这些Eclipse文件?
我正在尝试安装m2e插件以启用maven集成,但看起来好像没有安装插件:
我的工作:Maven已经安装在系统中,'mvn --version'可以工作
尝试了不同的插件存储库,尝试了Eclipse Marketplace - nada.
运行Eclipse时,我遇到以下错误:
org.eclipse.m2e.logback.configuration: SLF4J logger factory is not an instance of LoggerContext: org.slf4j.impl.SimpleLoggerFactory
2 [org.eclipse.jdt.internal.ui.text.JavaReconciler] INFO org.mortbay.log - Logging to org.slf4j.impl.SimpleLogger(org.mortbay.log) via org.mortbay.log.Slf4jLog
Run Code Online (Sandbox Code Playgroud)
不知道此时该怎么做.将不胜感激任何帮助!
Leonty
我有一个Maven项目中eclipse indigo
使用m2e 1.2.0.20120903-1050
Maven插件.该项目包含maven system
依赖项,这些jar文件被检入git repository.
这一切都很好,直到我需要切换到另一个system
依赖关系发生变化的分支.当文件被锁定时,Git无法更新内容.
这似乎是eclipse本身或代表m2e锁定了jar库.我尝试关闭项目,但这没有帮助,为了释放锁我必须重启eclipse.
这相当麻烦.有没有任何技巧可以在不重启eclipse的情况下释放锁定?
当我从我的工作区导入Maven项目并且这些项目是父项目的子项时,它们的项目名称与artifact-id完全一样.但是当我导入父项目时,项目名称就像目录名称一样.
目录结构示例:
project-parent (artifactId = project-application-parent)
--web (artifactId = project-webapp)
--core (artifactId = project-core)
Run Code Online (Sandbox Code Playgroud)
当我导入所有项目时,我的工作区看起来像这样:
project-parent
project-webapp
project-core
Run Code Online (Sandbox Code Playgroud)
我想要的是将父项目命名为artifact-id(project-application-parent).有没有办法实现这个目标?
我已经安装了Tycho m2e连接器,如下所述:http://codeandme.blogspot.ru/2012/12/tycho-build-1-building-plug-ins.html
据说"转到首选项/ Maven/Discovery并点击Open Catalog.查找并选择Tycho配置器".
当我第一次这样做时,Tycho出现在列表中并安装了它.后来,当我第二次重复同样的事情时,第谷没有出现在搜索结果中.
这可能是因为它已经安装好了.
那么,如何确定?如何检查安装的东西列表,m2e
并在那里看到tycho?
我有一个使用maven-jar-plugin的maven java项目(部署到jboss,如果这很重要).使用Eclipse Kepler可以正常工作.我现在正在尝试Luna(EE版),现在我遇到了这个错误
Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-jar-plugin:2.5:jar (execution: make-a-jar, phase: compile)
Run Code Online (Sandbox Code Playgroud)
在我的所有子.pom文件中(maven-jar-plugin在父.pom文件中指定,但错误指向子.poms中的块).
在.pom查看器中,如果我单击Overview选项卡中的错误消息,它会为我提供"发现新的m2e连接器"选项.单击此按钮会显示"m2e Marketplace"对话框,似乎可以执行大量工作,但之后只显示一个空列表.如果我单击"完成",它会尝试计算依赖项,然后给我这个错误:
Operation details
Cannot complete the request. See the error log for details.
"m2e connector for mavenarchiver pom properties" will be ignored because a newer version is already installed.
Run Code Online (Sandbox Code Playgroud)
所以似乎maven-jar-plugin可能依赖于特定版本的mavenarchiver,但Eclipse Luna EE附带了更新的版本.有没有办法解决这个问题,或者我只是要等待发布更新版本的maven-jar-plugin?(我目前正在使用2.5版的maven-jar-plugin,这是我所知道的最新版本.)
我最近升级到JAXB 2.2.11并在Eclipse控制台中注意到以下消息:
10/15/14, 11:42:46 PM GMT+2: [INFO] Creating new launch configuration
10/15/14, 11:42:58 PM GMT+2: [INFO] C:\Projects\workspaces\mj2p\maven-jaxb2-plugin-project\tests\JAXB-1044
10/15/14, 11:42:58 PM GMT+2: [INFO] mvn -B -X -e clean install
10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-impl:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.sun.xml.bind:jaxb-impl:2.2.11
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @
10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-xjc:jar:2.2.11 …
Run Code Online (Sandbox Code Playgroud) m2e ×10
eclipse ×9
maven ×8
java ×2
cargo ×1
checkstyle ×1
eclipse-luna ×1
installation ×1
jaxb ×1
m2e-wtp ×1
maven-2 ×1
maven-3 ×1
tycho ×1