maven中WebProject的依赖

发布于 2024-10-15 20:00:14 字数 112 浏览 3 评论 0原文

我想创建一个Web项目(war)..它将依赖于其他jar(java项目)

一旦我构建了我的war,它应该自动将java项目构建为jar并将其添加到其本地存储库。

有人可以帮忙吗?

i want to create a web project(war)..which will depend on other jar(java project)

Once i build my war it should automatically build the java project to jar and add it to its local repository.

Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

疯到世界奔溃 2024-10-22 20:00:14

你可以有多模块maven项目..希望这就是你正在寻找的..像下面

  <modules>
    <module>example-jar</module>
  </modules>

看看这个:multimodule-web-spring-sect-simple-parent

you can have multi module maven project.. hope that is what you are looking for.. like below

  <modules>
    <module>example-jar</module>
  </modules>

check this out: multimodule-web-spring-sect-simple-parent

挥剑断情 2024-10-22 20:00:14

是的。当然可以,而且这可能是最常见的用例。大多数 Web 项目都有一个共享库,其中包含在各种其他项目之间共享的实用程序代码。

有两种方法可以执行此操作:

  1. 创建一个父项目,在该父项目下创建您的 Web 项目和同一级别的其他项目。在您的 Web 项目中添加 Jar 项目作为依赖项。现在,每当您使用 mvn clean install 构建父项目时,您都会在本地存储库中构建并安装这两个项目。

    <前><代码>父级
    +----- pom.xml(有两个模块webProject和jarProject)
    +-------- 网络项目
    | + pom.xml(取决于jarProject)
    +-------- jar项目
    + pom.xml

  2. 还有另一种方法,使用Mavenreactor插件,该插件使您能够将所有相关项目构建到一个项目中。您可以在此处查看详细信息。特别是 reactor:make-dependents

Yes. Sure you can, and it is probably the most common use-case. Most of the web projects has a shared library that contains utility code shared among various other project.

There are two ways, to do this:

  1. Create a parent project, under that create your web project and other project at the same level. In your Web project add the Jar project as dependency. Now, whenever you will build the parent project using mvn clean install, you will have both of the projects built and installed in your local repository.

    parent
      +------- pom.xml (has two modules webProject and jarProject)
      +------- webProject
      |          + pom.xml (depends on jarProject)
      +------- jarProject
                 + pom.xml
    
  2. There is another way, using Maven reactor plug-in, this plug-in enables you to build all related projects to a project. You can see details here. Particularly, reactor:make-dependents

春庭雪 2024-10-22 20:00:14

如果您的 jar 项目和 war 项目遵循相同的发布周期,那么创建一个公共父 pom 并创建该父项目的 2 个项目模块将是一个好主意。

然后你可以从父目录构建,Maven的reactor将始终确保首先构建jar项目。

如果它们不遵循相同的发布周期,那么您可能只需确保以正确的顺序手动构建它们。

如果在 Hudson 中运行这些构建,maven 插件可以确保在上游项目完成后触发下游项目的构建。

If your jar project and war project follow the same release cycle, it would be a good idea to create a common parent pom and make the 2 projects modules of that parent.

Then you can build from the parent directory and Maven's reactor will always ensure that the jar project is built first.

If they don't follow the same release cycle, then you will probably just have to make sure that you manually build them in the right order.

If running these builds in Hudson, the maven plugin can ensure that a build of a downstream project is triggered after the completion of an upstream project.

是伱的 2024-10-22 20:00:14

这不太有道理。如果 WAR 依赖于 JAR,则需要在构建 WAR 之前构建 JAR 并将其添加到本地存储库(而不是之后,如您在问题中所写)。 (必须按此顺序完成,以便 JAR 文件可以包含在 WAR 文件中。)

假设您确实意味着应该首先构建 JAR,这很容易。只需创建一个父模块,其中包含 JAR 和 WAR 的子模块,并声明 WAR 模块依赖于 JAR 模块。然后构建父模块。

我建议您花时间阅读多模块项目 “Maven by Examples”一章,和/或 Maven 站点上的相关文档。

This is doesn't quite make sense. If the WAR depends on the JAR, then the JAR needs to be build and added to the local repository before the WAR is built (not after, as you have written in your question). (It has to be done in this order so that the JAR file can be included in the WAR file.)

Assuming that you really mean that the JAR should be built first, this is easy. Just create a parent-module, with child modules for the JAR and the WAR, and declare that the WAR module depends on the JAR module. Then build the parent module.

I recommend that you take the time to read the Multi-module Projects chapter of "Maven by Example", and or the relevant documentation on the Maven site.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文