我有一个Java项目,其中有3个“级别”。 我的顶级Maven目录中的pom看起来像这样:
<groupId>com.my_app</groupId>
<artifactId>my_app</artifactId>
<version>LATEST-SNAPSHOT</version>
<modules>
<module>first_module</module>
<module>second_module</module>
</modules>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
</plugins>
first_module (第二级)pom是:
<parent>
<groupId>com.my_app</groupId>
<artifactId>my_app</artifactId>
<version>LATEST-SNAPSHOT</version>
</parent>
<groupId>com.my_app.first_module</groupId>
<artifactId>first_module</artifactId>
<version>LATEST-SNAPSHOT</version>
...
<plugins>
<plugin>
<version>2.22.1</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
最后,(第三级)其中实际包含测试类的项目的pom of:
<parent>
<artifactId>first_module</artifactId>
<groupId>com.my_app.first_module</groupId>
<version>LATEST-SNAPSHOT</version>
</parent>
<artifactId>my_project</artifactId>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
</plugins>
我的问题是-poms的这种结构是否允许从顶部到底部pom的配置继承?我的意思是,如果我在 maven-sirefure-plugin 的第一个pom中具有 parallel 配置-它将在 first_module 下的测试类中生效>并在 my_project 下?
答案 0 :(得分:1)
在父母的pom中使用pluginManagement
标签。基本上,import {Navigation} from 'react-native-navigation'
import Screen1 from './my_screens/Screen1'
import Screen2 from './my_screens/Screen2'
Navigation.registerComponent('my.Screen1',()=> Screen1);
Navigation.registerComponent('my.Screen2',()=> Screen2);
Navigation.startTabBasedApp({tabs:[
{label:'One',
screen: 'my.Screen1',
icon: require('./my_resources/img/tools.png'),
selectedIcon: require('./my_resources/img/tools.png'),
title:'Screen1' },
{label:'Two',
screen: 'my.Screen2',
icon: require('./my_resources/img/tools.png'),
selectedIcon: require('./my_resources/img/tools.png'),
title:'Screen2' },
]
});
定义了将由构建中的模块继承的插件的设置:
<pluginManagement/>
然后,在儿童pom中:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
</plugins>
</pluginManagement>
您无需指定版本,因为它是从父级继承的所有配置。