问题标签 [maven]

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 回答
3004 浏览

maven-2 - 从原型创建项目时如何抑制属性替换?

我正在尝试为一个简单的项目创建一个架构类型,该项目包含一些我想作为资源包含在架构类型中的 ssl 证书,因此当创建项目时,这些证书将成为项目的一部分。我的问题是,在使用原型创建项目时,maven 正在尝试对这些证书进行属性替换。反正有没有告诉maven不要做财产更换?我已经尝试过以下方法:

在我的原型 POM.xml 中。有任何想法吗?

0 投票
0 回答
2185 浏览

java - Maven:如何在 MOJO 中以编程方式获取所有传递依赖项

可能重复:
如何在插件中访问 Maven 的依赖层次结构。

dependency:tree plugin:goal 有一个选项“verbose”,它显示依赖树中的所有冲突和重复项。我试图在我自己的 mojo 中重用这些信息来生成报告,但是 - 我似乎无法确切地弄清楚该插件是如何收集所有传递依赖项\工件的。

我试过了:

据我所知,除了侦听器之外,树目标是如何做到的。

有没有人知道怎么做我要问的?

更新:显然我搜索得不够好,我的问题是重复的: this。请像我已经做过的那样投票结束,谢谢。

0 投票
2 回答
2871 浏览

delphi - Free Pascal 可以从 Apache Maven 之类的东西中受益吗?

Apache Maven是 Java 开源生态圈中非常流行的构建和依赖管理工具。我做了一些测试,看看它是否可以处理编译的Free Pascal / Delphi 单元,并发现它很容易实现。所以有可能

  • 在公共 Maven 存储库中发布为 Free Pascal(或 Delphi)预编译的开源库
  • 在此存储库中包含包含依赖信息的元数据
  • 在命令行使用Maven从公共仓库下载开源库,并自动解析所有依赖
  • 本地存储库,作为代理,可用于缓存常用的二进制文件
  • 自动校验和生成和验证(由 Maven 提供)将降低下载损坏的二进制文件的风险
  • 源代码甚至文档文件都可以随二进制文件一起提供
  • 可以提供带有或不带有调试信息的二进制文件
  • HudsonTeamCityCruiseControl等持续集成服务器可用于在将更改提交到源代码控制系统时构建项目,并通知开发人员构建错误

这种依赖管理方式对于使用许多具有复杂依赖关系的第三方库的开源项目可能非常有益。它将避免使用错误版本引起的典型冲突。

对于开发人员来说,编辑和构建项目的工作流程将减少到最低限度:

  • 从内部版本控制系统签出项目源代码
  • 编辑源文件
  • 运行mvn package以自动下载所有必需的第三方库(预编译单元)(如果它们尚未在工作站的本地存储库中)
  • 编译运行

项目文件夹中唯一需要的 Apache Maven 附加文件是包含项目信息的 POM.XML 文件。

编辑:虽然 Maven 可用于一些必需的任务,但在本机 Free Pascal 中实现像 Maven 这样的解决方案将有一些优势:不需要 Java SDK,支持所有可以使用 Free Pascal 的开发平台,在 Pascal 中进行维护和插件开发。

使用类似 Maven 的工具仅对开源项目没有帮助 - 商业项目也可以以相同的方式访问和使用公共 Maven 存储库中的工件。

Maven 特性列在http://maven.apache.org/maven-features.html


更新:

一个用例可能是 Lazarus 的构建,其中 Maven 将下载所有必需的库并使用必要的构建路径参数调用编译器。对较低级别的依赖项的更改将自动传播到父构建。

可能的好处:

  • 设置新工作站所需的时间更少,无需手动安装第三方库
  • 更少由错误库版本引起的错误,检测版本冲突(例如,如果两个库依赖于第三个库的不同版本)
  • 内部创建的工件可以添加到本地 maven 存储库并在开发人员和项目之间共享,所有工件与元数据的中央存储
  • 构建是可重现的,只需使用相同的源和项目元数据文件 (pom.xml)
  • 可以减少开发时间并增加项目稳定性

更新#2:FPMake

Free Pascal的FPMake构建系统似乎是一个很有潜力的工具,在许多细节上它与 Maven 非常相似:

  • FPMake 是为 FPC 开发和分发的基于 Pascal 的构建系统
  • FPMake 通过定义一些限制(如标准目录)来标准化构建
  • 该命令fppkg <packagename>将在数据库中查找包,将其解压缩,然后编译 fpmake.pp 并运行它
  • 它有标准的构建目标(清理、构建、安装……)
  • 它可以创建一个适合导入存储库的“清单”文件(如mvn deploymvn install),清单是一个 XML 文件,看起来非常类似于 Maven 中的 pom.xml:

FPMake清单文件:

0 投票
1 回答
2237 浏览

objective-c - 用maven构建可可项目

我有一个可可项目,我想用 maven 构建它。是否有任何用于构建objective-c代码的maven插件?

0 投票
1 回答
1192 浏览

eclipse - 使用第三方源在 Eclipse 中调试 Maven 项目

我目前正在eclipse中开发一个maven项目。m2eclipse 插件运行良好。它甚至可以通过调试开箱即用。

但是当我调试开源第三方库时。似乎 maven 可以自动将源代码拉下来,但是 eclipse 调试器无法将当前执行点解析到正确的源文件位置。

我确定源代码已下载,因为我可以查看它并设置断点。并且断点有效。

但是eclipse在太不同的窗口中显示了源代码和当前执行点。例如,“TransformerImpl.class”选项卡窗口显示源代码,但当前执行点显示在另一个选项卡窗口中,标题为“Transformer.transform(Source,boolean)Line:642”。此窗口不显示源代码。

我觉得有一些我缺少的简单配置可以使这项工作。然后真的会很漂亮。

0 投票
3 回答
13375 浏览

java - 如何将jar上传到存储库?

我有在 Maven 中央存储库中找不到的 jar 文件。我想添加 jar,这样我就可以在我的pom.xml文件中包含额外的标签,其他开发人员可以使用该 jar。将 jar 上传到 http webserver webfolder 需要哪些步骤?我应该在旁边上传什么文件custom.jar?web文件夹中还需要与哪些其他文件并排存在custom.jar

0 投票
3 回答
1399 浏览

java - 警告:没有找到 pom 文件,假设是默认设置!

我按照此处的文档http://maven.apache.org/maven-1.x/start/install.html安装了 Maven 1

安装成功,然后我输入“maven site”,如此处 maven.apache.org/maven-1.x/start/quick-start.html 文档中所示

我收到错误“警告:未找到 pom 文件,假设为默认设置!”

据我了解,maven 1 没有 pom 文件。为什么提示我找不到pom文件?

谢谢

0 投票
5 回答
23773 浏览

maven-2 - 带有 Maven 的 JavaFX

我最近开始了一个 JavaFX 项目,我想使用 Maven 作为我的编译器/部署工具。

有没有很好的教程或插件来集成 JavaFX 和 Maven?

0 投票
2 回答
10847 浏览

java - GlassFish v3 和 glassfish-maven-plugin (Mac)

我正在尝试将 glassfish-maven-plugin ( https://maven-glassfish-plugin.dev.java.net/ ) 与 GlassFish v3 (我在 Mac 上并使用 Eclipse) 一起使用,但我似乎无法让我的网络应用程序部署。我不断遇到:

启动域需要主密码。没有控制台,没有提示可能。您应该使用 --savemasterpassword=true 创建域或使用 --passwordfile 选项提供密码文件。

这是我的 POM 文件的相关部分。

这是 Maven 正在执行的 start-domain 命令。

asadmin --host localhost --port 4848 --user admin --passwordfile /var/folders/sk/skcc8rAVGSynOBBaOwWN3U+++TI/-Tmp-/mgfp5377058868244877698.tmp --interactive=false --echo=true --terse= true 起始域 --debug=false --domaindir /Applications/GlassFish/v3/glassfish/domains --help=false --upgrade=false --verbose=false mvnrepo

--passwordfile 正在使用临时文件,所以我猜这就是问题所在。由于某种原因 passFile 参数不起作用。

有任何想法吗?我的假设错了吗?

0 投票
8 回答
15985 浏览

java - 大型项目代码格式化的最佳实践

我维护一个大型Java EE / Maven / Hudson / Perforce项目的构建,大约有 20 名开发人员分布在世界各地。

代码格式化的就地解决方案是在开发人员运行构建时使用Jalopy格式化代码库,从而确保在签入之前对任何未格式化的代码进行格式化。

这个解决方案的主要问题是,如果开发人员在签入之前没有运行完整的 Maven 构建(比如他们从Eclipse运行单元测试),他们的代码将不会被格式化。然后,下一个编辑文件的开发人员在运行格式化程序后可能在代码的不相关部分有很多很多差异。

在大型项目中,哪种源格式化策略最适合您?我考虑过的另一个选择是使用自动化过程每晚格式化。