问题标签 [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 投票
2 回答
3263 浏览

maven - Single-module vs Multi-modules maven project

I'm creating a new java web project. This web application will have many modules such as core/commons, business service, repository, security, integration, ldap, user management,.... I wonder if I should separate each module into each maven project (jar file) or create project that include all java packages of all modules into single one maven project.

When should we apply multi-modules or single-module project> Please give me some advice.

0 投票
2 回答
9330 浏览

maven - Hibernate 和 JPA 错误:依赖 Maven 项目的重复导入

我有两个 Maven 项目,一个称为project-data,另一个称为project-rest,它依赖于project-data项目。

Maven 构建在project-data项目中成功,但在project-rest项目中失败,除了:

我可以在这里看到一些解释:http: //isolaso​​ftware.it/2011/10/14/hibernate-and-jpa-error-duplicate-import-try-using-auto-importfalse/

我不明白的是,为什么在构建项目数据项目时不会出现此消息,而在构建项目休息项目时会出现此消息。

我试图在pom.xml文件中查找以查看其中是否有可以解释该问题的内容。

我还查看了在project-rest项目上配置和运行测试的方式。

但我还没有看到任何东西。

0 投票
3 回答
8532 浏览

java - Maven jetty 插件 - 使用多模块项目自动重新加载

我正在使用多模块 Maven 项目开发 Java Web 应用程序。项目设置如下:

  • pom.xml主 maven 项目,包括以下模块:
    • persistence:实体类和 DAO
    • business:服务定义和实现
    • webapp:Apache wicket Web 应用程序

依赖层次结构如下:webapp依赖于business,依赖于persistence

我还使用Jetty Maven 插件mvn -pl webapp jetty:run在带有 main 的目录中本地运行 Web 应用程序pom.xml。在开发应用程序时,在进行代码更改时,我希望码头服务器重新启动并自动重新加载修改后的代码文件。这在我修改webapp模块内的文件时工作正常,但当我修改另一个模块内的文件时不起作用persistence,例如or business

Maven Jetty Plugin 内部配置webapp/pom.xml如下:

我按照这个答案的说明进行操作。标签工作正常,因为当我在or中修改文件时,<scanTarget>码头会重新启动。但是,这不起作用,因为修改后的文件不是由码头加载的。链接的答案使用标签。但是,我使用插件文档中指定的标签(我也尝试了旧标签,导致相同的结果)。businesspersistence<extraClasspath><webAppConfig><webApp><webAppConfig>

我的问题是:如何为多模块项目配置 Jetty Maven 插件,以便从其他模块重新加载修改过的文件?

0 投票
1 回答
1161 浏览

java - 如何在 Maven 中默认排除特定库?

我正在编写某种框架,并希望提供一个使用的特定功能lucene(以 lucene 作为此处任何功能的示例)。

因此,在我的框架中,我肯定必须maven包含 lucene 库dependency才能构建该功能。

现在我不想为每个功能都创建一个子模块,而是将所有东西都打包在一个 jar 库中。如果用户想要使用 lucene 功能,他可能会使用 激活它Spring,并且还必须在 maven 中包含 lucene 库。

但我怎样才能做到这一点?到目前为止,我的框架中有 lucene 库,如果我将其用作依赖项,即使未使用该功能,也会自动导入 lucene 库。我怎样才能防止这种情况?

0 投票
0 回答
138 浏览

actionscript-3 - 如何在 Maven 模块之间共享代码以便 IntelliJ IDEA 识别它?

我有一个库项目(用 ActionScript 编写),它有两个构建输出:一个是通过包含库 A 生成的,另一个是通过包含库 B 生成的。

我的目标是 mavenize 这个库,我想出了以下解决方案:我有一个多模块 Maven 项目,如下所示:

myLib-Mobile \- pom.xml myLib-Web \- pom.xml src \- main \- actionScript ...code is here pom.xml

父 pom.xml 包含除了基于构建目标(和 FlexMojos 编译器,因为一个需要使用 AIR 构建另一个使用 Flash)而更改的依赖项之外的所有内容。由于代码不在通常的位置,我在孩子的 pom 文件中以这种方式定义它:

<build> <sourceDirectory>../src/main/actionscript</sourceDirectory> ...

如果我在控制台中构建它,这可以正常工作,但是当我将它作为 IntelliJ 中的 Maven 项目导入时,它找不到源文件 - 在我看来,如果<sourceDirectory>标签具有对父目录的引用,IntelliJ 无法处理。我发现的唯一解决方法是在项目设置中手动指定内容根目录。

有人知道更好的解决方案吗?也许使用模块不是要走的路?

0 投票
4 回答
1246 浏览

eclipse - 模块化maven项目更新的eclipse nullpointer异常

我正在使用带有 m2e 插件和最新 gae 依赖项的 Eclipse 4.4.1。当我导入 gae模块示例项目时,eclipse 告诉我项目配置不是最新的。如果我运行建议的 maven -> update 项目,我会得到一个 NPE。

NPE 有很多关于项目更新的错误报告。到目前为止,我已经在新的或现有的工作空间中使用 mvn eclipse:eclipse 或 maven 项目导入进行了尝试,但我从未能够让项目在 eclipse 中运行。

有什么解决办法吗?

编辑:那是堆栈跟踪:

java.lang.NullPointerException at com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.getGaeRuntime(GaeRuntimeManager.java:85) at com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.ensureGaeRuntimeWithSdk(GaeRuntimeManager.java:55 )在 com.google.appengine.eclipse.wtp.maven.GaeFacetManager.addGaeFacet(GaeFacetManager.java:59) 在 com.google.appengine.eclipse.wtp.maven.GaeProjectConfigurator.configure(GaeProjectConfigurator.java:46) 在 org。 eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:477) at org.eclipse.m2e org.eclipse.m2e.core 上的 .core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1)。internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:166) 在 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:142) 在 org.eclipse.m2e.core.internal.project。 ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:470) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:250) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call (ProjectConfigurationManager.java:163) 在 org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1) 在 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext. java:166) 在 org.eclipse.m2e.core。internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:142) 在 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:96) 在 org.eclipse.m2e.core.internal.embedder。 MavenImpl.execute(MavenImpl.java:1348) 在 org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:133) 在 org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1 .doCreateMavenProjects(ImportMavenProjectsJob.java:73) 在 org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:62) 在 org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob .runInWorkspace(ImportMavenProjectsJob.java:82) 在 org.eclipse.core.internal.resources.InternalWorkspaceJob。在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 运行(InternalWorkspaceJob.java:38)

0 投票
1 回答
396 浏览

java - 从 Maven 中的 WAR 类型子模块中排除属性文件

我有一个打包我的 EAR 项目的复杂场景,下面是完全理解它的视觉描述:

同样,我有另一个项目,其结构是:

Util.war 是 ProjA 和 ProjB 的通用项目(log4j.properties 除外)。

下面是我如何在 ProjA 和 ProjB 中指定 Util.war 的依赖关系:

现在的问题是:由于每个项目都有不同版本的 log4j.properties 文件,我如何配置 Maven 在打包 ProjA 时添加 ProjA 特定文件并在打包 ProjB 时使用其他版本?

如果您不理解混乱的场景,请告诉我:)。

问候,

0 投票
1 回答
3024 浏览

maven - Jenkins maven-project 插件不支持反应器模块排除

我无法让模块排除与 Jenkins maven 插件一起使用,请参阅下面的输出:

当我将命令复制到同一作业中的预构建 shell 步骤中时,它可以工作:

在堆栈跟踪中,您可以看到 hudson-maven 代理正在干扰。显着的区别是:

  • 哈德逊用途org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard和外壳用途...launchEnhanced
  • hudson 失败,org.apache.maven.DefaultMaven.trimSelectedProjects但 shell 失败...trimExcludedProjects

完整的堆栈跟踪是:

当我故意尝试在预构建步骤中排除不存在的模块时,将其与故障堆栈跟踪进行比较:

我也尝试过使用语法,也尝试过在like-pl !gotham/java/dev-server之后不加空格pl-pl!gotham/java/dev-server

注意:这些运行之间存在细微差别 - 直接从 shell 执行的是Using local repository at /home/jenkins/.m2/repository,而通过插件执行的不是。我不确定是什么原因,但我怀疑它是否相关

我正在使用 Jenkins 版本 1.540 和 maven-project 插件 v. 2.8(最新)

0 投票
1 回答
853 浏览

java - Maven 在 docker 机器上构建、测试和运行

现在问这个问题可能还为时过早,但我希望有人已经遇到了和我一样的问题。

我必须构建一个在,机器jar上运行的。centos7openjdk-7

我在非常短的时间内创建了一台 docker 机器 :) 但我的问题更像是一个 maven 问题。

我的问题是:

如何使用本机的 jdk 和环境在远程机器(由 mac 上的 kitematic 驱动的容器,例如:p)上生成 jar?

任何帮助我们都会受到欢迎。

- - 编辑

我在我的 mac 上开发,我想在“远程”机器上启动构建,在本地,我在 kitematic vm 上的 docker 容器。

0 投票
0 回答
218 浏览

maven - 如何在maven多模块中传递testng参数

我有 4 个模块的 Maven 项目项目

如何从 testng.xml 文件中获取 setUp() 参数?