Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日食+;m2eclipse:一个项目依赖于另一个项目,无需运行;mvn安装";_Eclipse_Maven_M2eclipse_M2e - Fatal编程技术网

日食+;m2eclipse:一个项目依赖于另一个项目,无需运行;mvn安装";

日食+;m2eclipse:一个项目依赖于另一个项目,无需运行;mvn安装";,eclipse,maven,m2eclipse,m2e,Eclipse,Maven,M2eclipse,M2e,我正在使用Eclipse Indigo+m2eclipse 我的工作区中有两个项目,projectA在POM.xml中声明了对projectB的Maven依赖关系 我希望能够对projectB进行更改,并且在不必在此projectB上运行“mvn安装”的情况下,能够在运行projectA时看到更改 我在两个项目上都选中了来自工作区项目的属性/Maven/Resolve依赖项。它不起作用。我总是必须在projectB上进行“mvn安装”(并且可能在projectA上进行“Maven/Updates

我正在使用Eclipse Indigo+m2eclipse

我的工作区中有两个项目,projectA在POM.xml中声明了对projectB的Maven依赖关系

我希望能够对projectB进行更改,并且在不必在此projectB上运行“mvn安装”的情况下,能够在运行projectA时看到更改

我在两个项目上都选中了来自工作区项目的属性/Maven/Resolve依赖项。它不起作用。我总是必须在projectB上进行“mvn安装”(并且可能在projectA上进行“Maven/Updates Dependencies…”才能看到更改

在projectA的POM中,我对projectB的依赖性是:

    <dependency>
        <groupId>com.xxxx</groupId>
        <artifactId>projectB</artifactId>
        <version>0.7-SNAPSHOT</version>
    </dependency>

projectA和projectC中都使用了完全相同版本的projectB工件。我尝试在projectA的POM中排除对projectB的可传递依赖,因此只使用直接依赖:它没有改变任何东西。

尝试使用“更新项目配置””另外,您可以运行
mvn eclipse:eclipse
,默认情况下,插件会将您的项目配置为使用子项目引用而不是安装的包引用。

尝试使用“更新项目配置””功能。此外,您可以运行
mvn eclipse:eclipse
,默认情况下,插件会将您的项目配置为使用子项目引用而不是安装的包引用。

您需要使用一个多模块项目,其中当前的每个项目都将成为一个模块。它们都将具有一个公共父级。然后您可以从父POM和反应器将按照所需的顺序构建子模块。这样,您在ProjectB中的更改将在ProjectA中看到

下面是一个示例

您需要使用一个多模块项目,其中当前的每个项目都成为一个模块。它们都有一个共同的父级。然后您可以从父级POM调用构建,反应器将按照所需的顺序构建子模块。这样,您在ProjectB中的更改将在ProjectA中看到

下面是一个示例

顺便问一下,您的项目中是否有包含所有三个模块a、B和C的父pom?donsenior,没有。我没有父pom。项目依赖项是否需要使用m2eclipse?我不确定,但我认为这是必需的,因此插件知道您的反应堆的项目。您可以尝试让我知道:)创建父项目非常简单。顺便问一下,你的项目中是否有包含所有三个模块a、B和C的父pom?donsenior,没有,我没有父pom。项目依赖项是否需要使用m2eclipse工作?我不确定,但我认为这是必需的,因此插件知道您的反应堆的项目是什么。您可以尝试让我知道:)创建父项目非常简单。请看,我不想每次更改projectB时都运行“mvn安装”、“更新依赖项”或“更新项目配置”!我很确定m2eclipse应该让Maven项目(在同一个工作区中打开)在没有任何特殊命令的情况下协同工作!不,您必须运行它一次,以便插件将您的项目添加到您的构建路径(Eclipse/Java构建路径/projects),然后当您对依赖项目进行更改时,您不必编译/安装任何内容,因为您的依赖项配置为项目而不是库。我不想运行“mvn安装”、“更新依赖项”或“更新项目配置”每次我对projectB进行更改时!我非常确定m2eclipse应该使Maven项目(在同一工作区中打开)在没有任何特殊命令的情况下协同工作!不,您必须运行它一次,以便插件将您的项目添加到您的构建路径(Eclipse/Java构建路径/projects),然后当您对依赖项目进行更改时,您不必编译/安装任何内容,因为您的依赖项配置为Project而不是Library。
projectA -> depends on -> projectB
projectC -> depends on -> projectB
projectA -> depends on -> projectC