标签: multi-module

Maven2在pom类型包装下对文件应用过滤

我是maven的新手.我想在多模块项目中使用过滤.父pom的包装类型设置为pom.该项目的结构如下:

pom.xml
     |
     |______MODULE1
     |       |
     |       pom.xml
     |       File1_needed_to_be_filtered
     |
    File2_needed_to_be_filtered
Run Code Online (Sandbox Code Playgroud)

请注意,Module1也是多模块项目.所以请告诉我如何将过滤应用于file1和file2.如果我对file1应用过滤,那么处理文件将存储在哪里(因为包装类型为pom的pom文件不会创建任何名为target的文件夹!)请帮助我,因为这对我来说非常关键,这个问题无处可寻否则在互联网上.

maven-2 pom.xml multi-module

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

关于依赖关系共享的Maven多模块项目组成

有几个类似的问题,但没有这样的.你如何处理这种情况(典型情况):

一个由8-11个子项目组成的项目,具有父工件/项目和一个主要项目,主要使用/声明其他项目作为模块.

问题是所有项目"严格"只共享公共依赖项,如testng, logging, apache commons and stuff.但总是喜欢其中3个使用50-60%相同的特定deps(apache-chemistry,jackrabbit,abdera等),另外2-3个也使用50-60%相同但不同的依赖.而主要的使用了很多相同的deps.

我不能将这些"非严格"共享deps放入父项目中以供其他人继承.所以只有常见的deps才会被继承.并且有大量重复的依赖项.我只能通过管理他们的版本<dependencyManagement>.

另一个选择是父pom包含大多数依赖项,但子项目甚至继承了它们不需要的项.

我可以拥有多个父项目,但感觉不对.父项目的继承也可能是噩梦,因为如果你没有正确地记录/评论父pom定义你不知道项目需要什么依赖项.

另一种方法是创建仅作为依赖容器的pom工件 - 它们声明特定的依赖关系组,以便模块只声明那些以获得传递依赖关系.但是,嘿,你想部署和提交某种

OneDepArtifact声明 jackrabit, abdera, chemistry

AnotherDepArtifact声明 htmlcleaner, google-api, tika

ThirdDepArtifact声明 spring, httpclient, selenium

这是一个巨大的混乱,我不确定我<dependencyManagement>是否正确使用它,它似乎只对管理依赖版本有用.

我正在考虑将我的应用程序开发改编为"maven multimodule design".但是如果你想创建spring服务/ bean,只使用各种库,在一个模块中,你不在不同的模块中实现它们,只是因为它们使用其他模块也使用的库:-)

java inheritance dependencies maven-3 multi-module

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

Maven:SCM和多模块项目

我有一个很大的多模块项目,我想为Maven指定SCM信息.但是,每个模块和父项目在SVN上都有一个专用文件夹,因此SCM信息似乎是特定于每个模块的.

我需要为连接和developerConnection元素使用哪个值?我是否需要为每个模块配置SCM,或者可以在父项目中配置一次?

谢谢

maven multi-module

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

eclipse下相同多模块maven项目的多个版本

我想上运行两个不同版本的的相同的多模块Maven项目下蚀.

不幸的是,当您在eclipse下导入多模块maven项目时,您可以自己更改父模块项目名称,以防止冲突,但不能更改子模块项目名称.子模块作为根项目导入,以模块名称命名.显然,在导入期间无法重命名它们.

在一个理想的情况下,我想保持它的原样.显然我想保持相同的eclipse工作区 ......

eclipse pom.xml maven multi-module

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

Eclipse m2e多模块项目结帐并转换为maven

我最近需要签出一个apache项目来做一些事实调查/调试(特别是maven-surefire-plugin,看看这个问题).与大多数其他apache项目一样,这是一个maven多模块项目.所以,在eclipse中,我打开SVN Repositories browswer,添加一个新的存储库,找到项目和right-click->Checkout....在向导中,我单击Checkout as a project in the workspace并键入项目的名称.

我有这个项目,现在我需要让eclipse知道它的maven项目,所以right-click->Configure->Convert to Maven Project.现在,父项目是一个maven项目.我可以right-click->Run As->Maven Build,它的工作原理.但是,所有模块都只是文件夹.Eclipse不知道源代码的位置,也不知道源代码的位置.在单个模块项目中,它将自动设置源文件夹,构建文件夹和其他配置.此外,如果您从头开始创建一个多模块项目,首先要创建父项目,然后,当您向其添加模块时,它们每个都显示为eclipse中的单个项目,其中物理目录位于父项目下默认maven构建过程所需的文件夹.

现在,知道在创建新项目时它是如何完成的,我可以File->New->Project...选择General->Project给项目命名(我将其与模块名称相匹配),取消选中Use default location并设置Location:到父项目文件夹内部模块的路径.点击后Finish,为每个其他模块重复这个过程,我有一些看起来类似于我期望的东西.我现在需要以与父项目相同的方式将每个单独的模块转换为maven模块.太棒了,他们都是maven项目,对吧?

然后我打开它们,并且没有设置源文件夹.

唉...然后我去每个项目,把它打开,然后放在src文件夹I上right-click->Build Path->Use as Source Folder.泡沫,冲洗,重复......一旦完成所有项目,它看起来和感觉就像我从头开始这个项目.事情的功能.

我的问题是,这真的很难吗?我错过了一条捷径吗?如果Configure->Convert to Maven Project父母pom意识到它是一个多模块项目并且为我完成了所有工作,那会不会有意义?对于apache项目来说,这是一个非常痛苦的过程,因为它们似乎都有很多很多模块......任何人都知道更好的过程吗?

eclipse version-control maven multi-module vcs-checkout

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

使用maven为SWT应用程序构建多平台可执行文件

我的问题是:如何使用maven根据目标操作系统/体系结构为SWT应用程序生成多个可执行Jar文件(包括依赖项)?

我创建了一个SWT应用程序,它必须在不同的操作系统和体系结构上运行.该项目是Maven多模块项目,包括父POM.

project-pom.xml (packaging = pom, specify SWT dependencies)
`- application-module (inherit SWT dependencies)
   `- pom.xml (packaging = jar)
`- domain-specific-module
   `- pom.xml (packaging = jar)
`- utils-module (inherit SWT dependencies)
   `- pom.xml (packaging = jar)

在父POM(project-pom.xml)中,我根据我的操作系统和架构使用maven配置文件包含了SWT依赖项,工作正常:

<dependencies>
    <dependency>
        <groupId>org.eclipse.swt</groupId>
        <artifactId>${swt.artifactId}</artifactId>
        <version>4.3</version>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>EclipseSwtRepository</id>
        <url>https://swt-repo.googlecode.com/svn/repo/</url>
    </repository>
</repositories>

<profiles>
    <profile>
        <id>unix-amd64</id>
        <activation>
            <os>
                <family>unix</family>
                <arch>amd64</arch>
            </os>
        </activation>
        <properties>
            <swt.artifactId>org.eclipse.swt.gtk.linux.x86_64</swt.artifactId>
        </properties>
    </profile>
    <profile>
        <id>windows-x86</id>
        <activation>
            <os>
                <family>windows</family>
                <arch>x86</arch>
            </os>
        </activation>
        <properties>
            <swt.artifactId>org.eclipse.swt.win32.win32.x86</swt.artifactId>
        </properties>
    </profile>
    <profile>
        <id>windows-x86_64</id>
        <activation> …
Run Code Online (Sandbox Code Playgroud)

java swt jar maven multi-module

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

如何使用gradle在特定子模块上执行多个任务?

我有一个多模块项目。不幸的是,我不得不地方build.gradlesettings.gradle在其他目录(gradlep/),而不是根目录,所以我不得不使用-p选项。

我发现我可以像这样在特定的子模块上执行多个任务。

$ gradle -p gradlep/ :long-named-submodule:clean :long-named-submodule:build
Run Code Online (Sandbox Code Playgroud)

有什么方法可以更简洁地调用吗?

gradle multi-module

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

支持多个Python模块版本(具有相同的Python版本)

我环顾四周,但找不到明确的答案。

我非常需要支持同一Python模块的N版本。

如果它们存储在相同的包/目录中,则它们必须具有唯一的名称,如以下示例所示:

      .../some/package/my_module_1.0.py
      .../some/package/my_module_1.1.py
      .../some/package/my_module_2.0.py
              -- etc. --
Run Code Online (Sandbox Code Playgroud)

然后,每个人都将通过“ version ”属性存储其版本号。

然后,使用程序将导入所需的正确版本(例如:import my_module_1.1)。

这是完成此多模块版本需求的最佳方法(也是最Python的方法)吗?

谢谢!

python import module version multi-module

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

如何为buildSrc和应用程序模块定义Kotlin版本?

buildSrc在多模块Kotlin项目中使用模块来管理依赖项定义和版本.该模块使用kotlin-dsl,如build.gradle.kts所示:

plugins {
    `kotlin-dsl`
}
Run Code Online (Sandbox Code Playgroud)

替代声明:

plugins {
    id("org.gradle.kotlin.kotlin-dsl") version "0.16.2"
}
Run Code Online (Sandbox Code Playgroud)

我想使用相同的Kotlin版本来编译buildSrc模块以及应用程序模块.我的第一个尝试是简单地添加JVM工件:

plugins {
    `kotlin-dsl`
    kotlin("jvm") version "1.2.31"
}
Run Code Online (Sandbox Code Playgroud)

然而,这会导致构建错误,这将在此处讨论:

解析插件时出错[id:'org.jetbrains.kotlin.jvm',版本:'1.2.31']
类路径上已有插件的插件请求不得包含版本

在整个项目中只使用一次 Kotlin版本定义的便捷方法是什么?

有关

gradle multi-module kotlin build.gradle gradle-kotlin-dsl

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

如何配置我的Maven Jenkins作业以仅构建我已签入代码的模块?

我正在使用Maven 3.5,Git和Jenkins 2.138.1.我为我的多模块Maven项目设置了Maven Jenkins工作.通常情况下,如果我想在Maven中构建一个模块,无论它有什么影响,我都可以运行

mvn install -pl myModule -am
Run Code Online (Sandbox Code Playgroud)

从命令行.我想要做的是配置我的Jenkins作业只构建受影响的Maven模块及其依赖项,如果有人检查特定模块的代码,从而加快我的构建.如何在Jenkins中配置它?

maven-3 maven multi-module jenkins jenkins-plugins

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