Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl项目中使用maven_Perl_Maven_Maven Plugin - Fatal编程技术网

在perl项目中使用maven

在perl项目中使用maven,perl,maven,maven-plugin,Perl,Maven,Maven Plugin,我们已经看到Maven在基于Java的项目中表现得非常好。我从中看到,非java项目也可以作为maven模块进行改造,尽管它们只会为不同的目标使用maven exec插件。在谷歌上,我看到了,但它仍然是一个1.0版本的快照,有零星的更新,但看起来确实非常有希望。有没有人用过这个或任何其他竞争对手,这将减轻我写不感兴趣的pom锅炉板 编辑:事实上,该项目的主要部分是n层Java模块,并且有一个非常小的perl/python组件(用于后端解析),我正在寻找一个适合该生态系统的地方。我获得了一些优势,

我们已经看到Maven在基于Java的项目中表现得非常好。我从中看到,非java项目也可以作为maven模块进行改造,尽管它们只会为不同的目标使用maven exec插件。在谷歌上,我看到了,但它仍然是一个1.0版本的快照,有零星的更新,但看起来确实非常有希望。有没有人用过这个或任何其他竞争对手,这将减轻我写不感兴趣的pom锅炉板


编辑:事实上,该项目的主要部分是n层Java模块,并且有一个非常小的perl/python组件(用于后端解析),我正在寻找一个适合该生态系统的地方。我获得了一些优势,比如使用maven release plugin进行标记/分支创建和发布过程,并将其作为同一代码库的一部分,从而使版本号保持一致。因此,虽然我不打算在perl模块中使用maven的依赖项检索方法(很抱歉,我没有对maven perl插件boy进行足够的研究),但我想知道在做这样的事情时(或者如果这样的事情没有意义的话)需要记住哪些要点,例如,模块名称应该是什么(topLevelModuleName perl?)以及src/main/perl和src/test/perl下面的结构。我知道我可能会走下坡路,试图把一件事推到另一件事上,但问一下也无妨:)

这太疯狂了。使用诸如Module::Build之类的理智的东西,对于依赖项,使用CPAN(或cpanm)。说真的,对于任何不是Java的东西,你都必须为疯狂的插件编写大量的XML。使用Module::Build(或任何脚本),您可以编程您的构建,并且可以使用该语言可用的任何库(您只需要在之前使用cpanm获得它们)。

我快速浏览了一下这个插件,我不认为引入依赖项(如Java和XML)来管理您的项目有什么意义

事实上,我认为我们已经有了更好的东西。设置项目就像
dzil new My::project
一样简单,
Dist::Zilla
会处理所有其他事情

不再有生成文件、自述、清单。。。只需键入
dzil build/test/install/release
,一切都将根据您的配置文件和
dist.ini
完成

如果您缺少CPAN中的一些依赖项,请将其添加到配置中,并可以顺利地集成到新的工作流中

[alias]
    instdeps = install --install-command "cpanm ."

在这一点上,我倾向于不使用maven perl插件作为其依赖特性,因为它似乎与许多成熟的同行(如Dist::Zilla和Module::Build)有重叠。由于没有人真正对编辑发表评论,我只剩下像这样维护现有的项目结构

<perl-module-name>
    -lib
    -etc
    -bin

-解放党
-等
-垃圾箱
除了添加一个pom文件,并将tarball创建为输出工件之外,不会真正更改任何内容


欢迎发表任何其他建议。

@Kilokahn打包Perl模块并不有趣,最好让专门开发的工具来处理。