标签: m2eclipse

如何阻止 m2eclipse 插件干扰命令行 mvn 构建?

我在 Eclipse 中使用了 m2eclipse 插件,以便我可以导入 Maven 项目。该插件读取 pom.xml 并以 Eclipse 友好的方式整理项目中的依赖项,因此我不会查看大量损坏的引用和错误。

我使用 Eclipse 进行代码开发,但是我通常从命令行构建项目,例如“mvn clean install”。

不幸的是,当我这样做时,m2eclipse 检测到磁盘活动并尝试重建工作区。这会干扰命令行构建,有时会导致竞争条件。例如,命令行可能处于清理阶段但失败,因为它试图删除在工作区重建期间锁定的文件或目录。除了工作区重建非常慢之外,在失败的构建和浪费的 CPU 之间,我的构建过程比应有的时间长 2-3 倍。

不使用 Eclipse(例如使用 Netbeans)或禁用 m2eclipse 不是一个选项。除了这种行为,它是一个有用的插件。

所以我的问题是,如何阻止 m2eclipse 一直重建工作区?我可以调用手动刷新并以其他方式禁用此行为吗?

java eclipse m2eclipse

5
推荐指数
1
解决办法
1007
查看次数

Maven / Eclipse 中的二进制库依赖项

我是 Maven 的新手,正在尝试解决我有一组二进制库 (.jars) 的情况,我想将其包含在多个 Maven 管理的项目中。

这些库没有 pom.xml 文件,并且在任何 Maven 存储库中都不可用。

我应该如何设置 Maven / m2eclipse 以将这些库包含在我的其他项目中?我假设我需要设置一些 Maven“包装项目”来处理这些问题?

java eclipse m2eclipse maven

5
推荐指数
1
解决办法
2200
查看次数

Maven 2.2.1 无法使用 m2eclipse 构建 EAR 项目

我在使用 m2eclipse 项目构建器在 Eclipse 3.6 中使用 Maven 构建 EJB EAR 时遇到问题。奇怪的是,手动构建(在命令行上或使用“Run as -> Maven build”)工作正常。我已将 Eclipse 设置为使用外部 Maven 2.2.1 安装。

错误信息如下:

Build errors for my-app; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml) on project my-app: Failed to initialize ear modules
Run Code Online (Sandbox Code Playgroud)

因此,由于某些原因,我还无法确定 application.xml 描述符的生成显然失败了。

在错误日志视图中,我收到以下消息:

Unknown artifact type[test-jar]
Run Code Online (Sandbox Code Playgroud)

我在一个论坛中读到过,这可能是由缺少“test”范围的“test-jar”依赖引起的;但是,我对此进行了双重和三次检查,并且在我的 pom.xml 文件中找不到任何无作用域的“test-jar”依赖项。

我在 mvn help:effective-pom 中找到了以下条目:

  <dependency>
    <groupId>org.jboss.test</groupId>
    <artifactId>jboss-test</artifactId>
    <version>1.1.4.GA</version>
    <exclusions>
      <exclusion>
        <artifactId>log4j</artifactId>
        <groupId>apache-log4j</groupId>
      </exclusion>
    </exclusions>
  </dependency>

  <!-- ... --->

  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20-durable</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId> …
Run Code Online (Sandbox Code Playgroud)

java eclipse ear m2eclipse maven

5
推荐指数
1
解决办法
4941
查看次数

通过M2eclipse和Maven从eclipse部署到tomcat

我正在使用M2E创建Maven原型项目(在本例中为简单的Web应用程序),目的是使用Maven部署到远程tomcat服务器。

我已将tomcat-maven-plugin添加到POM.XML文件,它似乎是正确的。

         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>tomcat-maven-plugin</artifactId>
           <configuration>
                <server>localServer</server>
           </configuration>
         </plugin>
Run Code Online (Sandbox Code Playgroud)

当我在终端中输入“ mvn tomcat:deploy”时,它将成功部署。所以我知道我的settings.xml以及我的tomcat设置是正确的。

是否可以直接从Eclipse部署应用程序而无需通过终端。换句话说,是否可以将命令“ mvn tomcat:deploy”从Eclipse传递到Maven?

干杯

eclipse tomcat m2eclipse maven-3

5
推荐指数
1
解决办法
4974
查看次数

Eclipse + Maven + Groovy:更新项目配置后,src/test/groovy 目录被删除

我正在使用 Maven(版本 2.2.1)和用 Groovy 编写的单元测试在 Eclipse(STS 版本 2.8.1.RELEASE)中开发一个 Java Web 项目。单元测试位于src/test/groovy 下。此外,我正在使用 Eclipse 的 m2eclipse 插件(1.0 版)和 Maven 中的 Gmaven 插件(1.3 版)。

在 Maven 中构建工作没有问题:groovy 文件被编译并作为测试执行。为了让单元测试在 Eclipse 中工作,我在项目中添加了 Groovy 特性,在配置构建路径下添加了文件夹 src/test/groovy ...并将输出文件夹设置为target/test-classes

这一直有效,直到我在Maven -> Update Project Configuration...更新项目配置。每次从 Eclipse 中的源文件夹中删除目录src/test/groovy后,我必须再次添加它并设置输出目录。

我是否遗漏了什么,或者为什么每次我更新项目配置时 Eclipse 都会删除我的源文件夹配置?

我的 GMaven 配置如下所示:

<plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.3</version>
    <configuration>
        <providerSelection>1.7</providerSelection>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

eclipse groovy m2eclipse maven sts-springsourcetoolsuite

5
推荐指数
1
解决办法
3957
查看次数

m2eclipse无法找到C:\ Program Files\Java\jre6\..\lib\tools.jar

我有一个问题,关于我的日食的jdk/jre用法.我知道这个问题在这里被问了很多次,我研究了很长一段时间可能出错的问题.我实际上没找到任何东西,所以我会再问你一次.也许我错过了一些东西(如果是的话,我希望不要尴尬:)

我的问题是,当我运行mvn clean install时,我得到一个错误,说m2eclipse插件是"无法找到Javac编译器:C:\ Program Files\Java\jre6 ..\lib\tools.jar ".

我检查的第一件事是在eclipse中是否配置了正确的JRE.所以我切换到Window> Preferences> Java> Installed JREs并检查选中的jre是否是我的jdk文件夹中的jre.情况就是这样.

我检查了eclipse.ini并添加了一个-vw标志.它现在看起来像:

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
 org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
"%JAVA_HOME%\bin\javaw.exe"
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m
Run Code Online (Sandbox Code Playgroud)

%JAVA_HOME%已解析为C:\ Program Files\Java\jdk1.6.0_24.因为它包含一个空格我用引号包围了vw路径.为了检查路径是否真的正确,我试过了

C:\Windows\System32>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_24
Run Code Online (Sandbox Code Playgroud)

这告诉我这是正确的.我也尝试在启动eclipse时传递-vw选项.那么启动eclipse的命令就是这样

D:\Programs\eclipse\eclipse.exe -vm "%JAVA_HOME%\bin\javaw.exe"
Run Code Online (Sandbox Code Playgroud)

我还测试了当我使用%JAVA_HOME%符号时是否存在差异,或者我是否写了完整路径(它没有区别).

当我去帮助>关于Eclipse>安装细节>配置时,我得到的eclipse配置如下所示:

__wbp.gwt.useWebKit=true
awt.toolkit=sun.awt.windows.WToolkit
veclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=M20120208-0800
eclipse.commands=-os
win32
-ws
win32
-arch
x86_64
-showsplash
-launcher
D:\Programs\eclipse\eclipse.exe
-name
Eclipse
--launcher.library
D:\Programs\eclipse\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110    502\eclipse_1406.dll
-startup
D:\Programs\eclipse\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.overrideVmargs
-exitdata
3e30_64
-product
org.eclipse.epp.package.java.product
-vm
C:\Program Files\Java\jdk1.6.0_24\bin\javaw.exe
eclipse.home.location=file:/D:/Programs/eclipse/
eclipse.launcher=D:\Programs\eclipse\eclipse.exe
eclipse.launcher.name=Eclipse …
Run Code Online (Sandbox Code Playgroud)

java eclipse m2eclipse maven

5
推荐指数
2
解决办法
1万
查看次数

使用m2e配置Eclipse Formatter

在将Maven项目导入eclipse时是否有任何现有的m2e-extension来配置Eclipse Formatter?我们使用自定义checkstyle规则,m2eclipse为我们配置了Eclipse-CS-plugin.但另外我还要配置Eclipse Formatter ......

eclipse m2eclipse maven m2e eclipse-formatter

5
推荐指数
1
解决办法
719
查看次数

如何解读M2E中的生命周期映射对话框?

在eclipse M2E 1.2.0插件中,当我得到一个maven项目属性时,有一个生命周期映射对话框,这个对话框中的各个列是什么意思。我在网上搜索过解释,但没有找到任何清楚地解释各列含义的内容。

  • 每列是什么意思?
  • 为什么剂量配置器在 Mapping 中多次出现,例如在 compiler:compile
  • 来源栏中的不同来源是什么意思?

在此处输入图片说明

更新:此链接有关生命周期映射的良好信息https://docs.sonatype.org/display/M2ECLIPSE/Customizable+build+lifecycle+mapping+for+m2e+extensions+developers#Customizablebuildlifecyclemappingform2eextensionsdevelopers-Introduction

m2eclipse maven-3 maven m2e

5
推荐指数
1
解决办法
676
查看次数

如何将配置文件添加到 Eclipse 中的默认 Maven 目标?

我在 Eclipse 中使用 Maven 来构建和部署代码。

选择时{Context Menu} > Run As,会出现几个Maven目标如下:

Eclipse 运行方式上下文菜单

我知道如果我想创建自定义构建配置,我会单击“运行配置...”来创建自定义配置。

但是,似乎没有办法修改菜单上方便出现的配置。例如,您不能将配置文件添加到 #7“Maven 安装”。结果很乏味,因为您单击了大约 5 次以启动构建。

有什么方法可以将配置文件或其他目标添加到 #7 “Maven install” 构建或将自定义配置添加到上下文菜单中?

有没有办法使用键盘组合启动特定的构建配置?

我已经尝试过 IntelliJ 和 NetBeans,并且它们中的 Maven 集成在尝试区分基本 Maven 目标和更现实的目标和配置文件的自定义组合时似乎令人困惑。

eclipse m2eclipse maven

5
推荐指数
1
解决办法
1万
查看次数

找到重复的包执行

我在标签中有一个带有此插件定义的父pom.xmlpluginManagement

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>3.2.0</version>
    <executions>
        <execution>
            <id>default-bundle</id>
            <phase>package</phase>
            <goals>
                <goal>bundle</goal>
            </goals>
        </execution>
        <execution>
            <id>create-source-manifest</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>manifest</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

然后,我有实际项目的pom.xml尝试添加执行:

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
</plugin>
Run Code Online (Sandbox Code Playgroud)

它导致错误:找到重复的捆绑软件执行。请删除您pom.xml中所有显式定义的包执行。

但是,如果我plugin在Eclipse中删除此标记并再次添加它,该错误将消失。

这是Eclipse M2E问题吗?还是这是一个实际的Maven问题?如果是这样,我该如何解决?我显然不能删除上面的处决。

我可以添加以下内容:

<executions>
    <execution><id>default-bundle</id></execution>
    <execution><id>create-source-manifest</id></execution>
</executions>
Run Code Online (Sandbox Code Playgroud)

但这对于“执行父pom中定义的所有内容”非常冗长,而且如果我想添加另一次执行,则新的执行不会被执行。

注意:请注意,它在M2E 1.12的Eclipse 2019-06中仍然被打破(我写这个问题时不知道我一年多以前拥有哪个Eclipse)。

eclipse m2eclipse maven

5
推荐指数
0
解决办法
1134
查看次数