在Opendaylight中,每当我进行更改时,我都会构建整个项目,而不是特定的项目。mvn全新安装-DskipTests=true..有没有办法跳过整个构建而构建项目的特定pom.xml ..例如,在ovsdb中,如果我想单独运行南向项目,我必须做什么?
发布于 2016-08-04 13:22:42
可以有更好的方法,但我使用的变通方法是:
我使用bash脚本复制jars + config文件。
如果我对模块进行代码更改,
System文件夹中的特定文件夹位置。垃圾箱/卡拉夫干净。我用来更新通用jars+config的bash脚本的一部分
local.sh:
elif [ $1 == common ]; then
cp /home/user/workspaces/workspace-odl/myproject/common/implementation/target/common-impl-2.0.0-SNAPSHOT.jar /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/system/com/myproject/common-impl/2.0.0-SNAPSHOT/common-impl-2.0.0-SNAPSHOT.jar
cp /home/user/workspaces/workspace-odl/myproject/common/model/target/common-model-2.0.0-SNAPSHOT.jar /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/system/com/myproject/common-model/2.0.0-SNAPSHOT/common-model-2.0.0-SNAPSHOT.jar
cp /home/user/workspaces/workspace-odl/myproject/common/config/src/main/resources/initial/89-common.xml /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/system/com/myproject/common-config/2.0.0-SNAPSHOT/common-config-2.0.0-SNAPSHOT-config.xml
rm /home/user/controller/myproject-karaf-2.0.0-SNAPSHOT/etc/opendaylight/karaf/89-common.xml
echo "Updated common"执行:
./local.sh common这将复制更新的jars,下次运行ODL时,更新的jars将被拾取。
这很快,而且不需要我重新构建整个ODL项目。
发布于 2016-08-04 15:25:10
mvn全新安装-Dcheckstyle.skip=true
发布于 2016-08-31 20:38:22
假设您在you Maven settings.xml中有适当的条目,您可以通过在OpenDaylight项目的文件夹中运行Maven来构建该项目中的任何模块;对于ovsdb southbound
cd southbound
mvn clean install或者,从项目的根目录:
mvn -f southbound clean install如果您只想构建单个模块(不是它的子模块):
mvn -pl southbound clean install(这些都是标准的Maven选项。)
OpenDaylight包含了几个不错的附加组件,您可以使用它们来更快地迭代构建:
q配置文件跳过所有对结果工件没有贡献的目标(静态分析、测试、文档...):mvn -f南向干净安装-Pq
addInstallRepositoryPath变量直接安装在预先存在的Karaf系统文件夹中:mvn -f南向全新安装-DaddInstallRepositoryPath=.../karaf/system
(用适当的路径替换... )。
这些可以组合在一起,所以
mvn -f southbound clean install -DaddInstallRepositoryPath=.../karaf/system -Pq在现有的Karaf中构建和安装JAR(它甚至可以运行-它将重新加载包)。
https://stackoverflow.com/questions/38741021
复制相似问题