问题标签 [maven-module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
858 浏览

java - Maven 模块 - 如何在不相关的项目中将其用作外部库

我在 Maven 中建立了一个模块化项目,其父项目有多个子项目。

pom.xml父母看起来如下-

pom.xml子项目如下所示-

现在,我需要在一个单独的不相关项目中使用其中一个子项目作为库。新项目的 pom 如下所示。

我不断收到以下错误 Illegal character in path at index 57: http://repo.maven.apache.org/maven2/com/company/parent-app/${parent-application.version}/parent-app-${parent-application.version}.pom

原因似乎是我从 prent-app 继承了 child-model 中的 version 属性。

有没有办法克服这个问题?或者我是否需要在各自的 pom.xml 中为每个子模块提供版本,并且不能从公共父级继承。

提前致谢。

0 投票
2 回答
979 浏览

maven - 如何告诉 Maven 编译自动生成的 Maven 模块?

在我正在处理的一个项目中,我们在一个名为 api/ 的文件夹中自动生成接口 API,该文件夹包含几个子文件夹,其中每个文件夹都有一个能够编译模块内容的 pom 文件。

基本上 pom.xml 触发代码生成器,然后生成所有 api/* 模块。当我在 build/ 文件夹中运行 maven clean install 时,api 文件夹是空的,因为它将在 generate-code Maven 阶段由代码生成器填充。

有没有办法告诉 build/pom.xml 在同一个构建中处理 api 中的模块(名称已知)?

如果我指定一个<module>不存在的,maven verify 会抱怨。

谢谢

0 投票
1 回答
83 浏览

java - 如何构建完整生成的 Maven 模块

我有这个经典的项目树:

这个 pom.xml 使用自己的 pom.xml 生成一个完整的 maven 项目,如下所示:

是否可以使用这个简单的命令生成构建这个生成的模块?

0 投票
1 回答
3088 浏览

java - 尽管我将其设置为依赖项,但我的 Maven 模块无法在我的其他 Maven 模块中找到类

我有两个 Maven 模块。一个命名tests一个ws-ejb

testspom.xml 中,我将 设置ws-ejb为依赖项,因此我可以在测试中使用 EJB。
这是我的testsmaven 模块的 pom.xml 的缩短版本:

但是当我运行测试时,我收到一个编译错误,指出找不到我的 bean,但我将它作为依赖项,并且我的 IDE 没有抱怨丢失的 bean,但 maven 会:

该包com.myproj.beans确实存在于ws-ejb我在模块中设置为依赖项的 maven 模块中tests。那么有什么问题呢?

编辑

这是位于testsmaven 模块下的 MyTest.javasrc/test/java/com/myproj/MyTest.java

0 投票
1 回答
65 浏览

java - maven - 关于使用多模块(jar,war,...)项目的建议

我有以下 Maven 组织:

到目前为止,我一直在使用 Maven 如下(全部在根目录中执行):

尽管这很有效,但我不确定这是否是首选方式。在第一步中,我正在安装所有项目,但实际上,只有 jar 项目a并且b应该安装。无需安装cd项目。

c尽管安装and并没有什么坏处d,但是否有更好的使用 Maven 来避免这种情况?我总是可以手动安装aand b,但这当然会影响模块的好处(自动检测依赖顺序,仅举一个好处)。

0 投票
2 回答
322 浏览

java - maven - 关于使用多模块(jar,war,...)项目的建议

我有以下 Maven 组织:

为了构建和部署c项目,我这样做:

为了构建和执行d项目,我这样做:

因为d有问题。马文报告:

这确实是正确的,父pom.xml级没有配置exec. 只有d项目具有exec.

这个问题是问题maven 的一个小变种 - 关于使用多模块(jar,war,...)项目的建议,所以我决定专门为它专门提出一个问题。

为什么 Maven 会尝试exec在父项目上?

更新

我在以下三个 pom 文件中抽象出了同样的问题:

父pom:

一个pom:

b pom:

我正在执行的命令是:

这也可以在https://github.com/jeperjaperjieper/issue-33197130找到。

0 投票
1 回答
21 浏览

maven - 带有 maven 模块的自定义 mojos

我有一个简单的 Maven 多模块项目

在第一个项目中,我定义了一个自定义 MOJO,我可以这样调用 com.mycompany:child1artifactid:mojoname

是否可以从子项目中调用相同的 mojo,因为它是一个依赖项并捆绑为第二个项目的 jar? com.mycompany:child2artifactid:mojoname

0 投票
1 回答
1880 浏览

maven - Maven inherit parent module resources

In Maven, is it possible to load resources in a child module from the parent project?

I have resources in the parent project src/main/resources which I would like to be made available for the child projects. Ideally the child projects could override any of the resources.

0 投票
3 回答
5059 浏览

spring-boot - Spring Boot 与 Maven 多模块项目

我有一个 Maven 多模块项目,其设计类似于以下 SO 帖子中的第一个答案: Multi-module maven with Spring Boot

现在我想要一个通用的 maven 模块,它可以包含一些供多个微服务使用的模型。如果我将这个公共项目作为第一级父 pom 的子项目(以便所有通过引导注入的依赖项,如 jpa、jackson 等都可用于公共),那么 STS/Spring 将其检测为引导应用程序并抱怨没有 Main Maven 构建类。

有人可以建议我如何实现这一目标吗?

当前代码:

父 pom.xml:(仅包括相关部分)

子(公共模块)pom.xml(仅相关部分),不是启动应用程序:

0 投票
1 回答
915 浏览

ant - 从包含其他模块的 maven 模块运行 ant

我有一个如下目录结构:

在我的 POM 文件中,我正在尝试使用调用 ant 文件

我的 build.xml 包含

但是,当我mvn install从运行时/root/ui,出现以下错误:

[错误] 无法在项目 ssui-parent 上执行目标 org.apache.maven.plugins:maven-antrun-plugin:1.6:run (create-intellij-project-files):发生 Ant BuildException:出现以下错误时执行这一行: [ERROR] java.io.FileNotFoundException: /root/ui/ssui/build.xml (No such file or directory) [ERROR] -> [Help 1]

它似乎是从它所在/root/ui/ssui的地方而不是从哪里运行它pom.xml

调试完成

  • 如果我将我pom.xml的改为指向../build.xml,则错误消息变为:java.io.FileNotFoundException: /root/build.xml (No such file or directory)

  • 如果我删除 中的子模块定义/root/ui/pom.xml,则路径被正确识别(但我需要子模块)

  • 如果我将 build.xml 引用更改为${basedir}/build.xml,我会得到同样的错误:java.io.FileNotFoundException: /root/ui/ssui/build.xml如果我删除子模块它也可以工作

  • 通过在(as ) 和(as )中创建一个ui.rootdir属性并从. 同样的错误。ui/pom.xml${basedir}ui/ssui/pom.xml${basedir}/..${ui.rootdir}/build.xmlui/pom.xml

欢迎提出任何建议,但我无法重组我的目录,除非要复制的文件夹所在的位置。我确实在多模块设置中查看了 maven ${basedir} 的用法,但没有弄清楚它将如何解决我的问题。

创建了一个说明问题的 zip 文件。如果您运行mvn install,您会注意到子模块中发生错误,尽管它在顶级模块中运行良好(并将文件复制到我的文件夹中)