繁体   English   中英

Eclipse运行配置-单一配置中的多个运行配置?

[英]Eclipse Run Configuration - Multiple Run configurations in single configuration?

我有一个情况,我的项目主要包含子项目A子项目B,并且每当我在子项目A和子项目B中进行更改时。

我必须为SubProject A和SubProject B做maven clean和maven安装,然后进行MAIN Project Update。

有什么方法可以在单一配置中实现所有这些功能吗?

就像是 :

配置MainProject可以:清理,构建A,清理,构建B,清理,构建MainProject。

谢谢

有什么方法可以在单一配置中实现所有这些功能吗?

当然可以。 这是Maven多模块项目的框架:

父POM:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>my.group</groupId>
    <artifactId>myProject</artifactId>
    <packaging>pom</packaging>
    <version>1.0.0-SNAPSHOT</version>
    <name>myProject</name>
    <url>http://maven.apache.org</url>
    <modules>
        <module>moduleA</module>
        <module>moduleB</module>
    </modules>
    <build>
          ....
    </build>

    <dependencyManagement>
        <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
            <scope>test</scope>
        </dependency>
           ....
        </dependencies>
    </dependencyManagement>

    <dependencies>
           ....
    </dependencies>
</project>

要注意<packaging>pom</packaging>

这是模块A的POM:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>myProject</artifactId>
        <groupId>my.group</groupId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>moduleA<artifactId>
    <name>moduleA</name>
    <packaging>jar</packaging>       <!-- this is default  -->
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          <!-- no version here, see dependencyManagemant in parent POM -->
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          <!-- no version here, see dependencyManagemant in parent POM -->                <scope>test</scope>
        </dependency>
    </dependencies>
</project>

与ModuleB类似,但与moduleA相关。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>nbaWorker</artifactId>
        <groupId>de.lgn.aaabk</groupId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>moduleB</artifactId>
    <name>moduleB</name>
    <packaging>jar</packaging>       <!-- this is default  -->

    <dependencies>
        <dependency>
            <groupId>my.group</groupId>
            <artifactId>moduleA</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          <!-- no version here, see dependencyManagemant in parent POM -->
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          <!-- no version here, see dependencyManagemant in parent POM -->                <scope>test</scope>
        </dependency>
    </dependencies>
</project>

现在,无论何时对模块进行更改,都可以在父级上调用mvn clean install

这里是更多信息: 教程我如何...

从Sonatype

来自maven主页 目前,它的帮助还不够,而且链接已断开。

为此,我像这样在顶级父POM中声明一个配置文件

    <profile>
        <id>build-all</id>                              
        <modules>
            <module>MAIN</module>       
            <module>SubProjectA</module>        
            <module>SubProjectB</module>                                    
        </modules>
    </profile>      

在Eclipse运行配置中,将父POM路径用作基本目录,将“ build-all”用作配置文件。

请记住,必须将父POM声明为其他POMS的父。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM