在这里完成Maven newb,因此请原谅任何滥用的术语等。
我在Maven3中构建了一个自定义插件(一个定义git重基目标的插件)。我可以:
mvn install
没问题.然后我可以从命令行调用目标:
mvn edu.clemson.cs.rsrg:git-plugin:rebase
一切都是金色的。我的target
目录中有这个可爱的git-plugin-xxx.jar文件。
我想让我的自定义目标可用于另一个项目,这样当开发团队的其他成员删除该项目的源代码时,他们就可以免费获得我的插件(或者至少在mvn build
)。
我的理解是,纯粹的解决方案是为组建立一个maven repo并在那里加载我的插件,但对于一个简单的插件来说,这似乎有些过头了。
想法?
到目前为止,我已经通过三个不同的插件玩过了:
>
addjars-maven-plugin:add-jars
<plugin> <groupId>com.googlecode.addjars-maven-plugin</groupId> <artifactId>addjars-maven-plugin</artifactId> <version>1.0.4</version> <executions> <execution> <goals> <goal>add-jars</goal> </goals> <configuration> <resources> <resource> <directory>${basedir}/plugins</directory> </resource> </resources> </configuration> </execution> </executions> </plugin>
在MVN Build
期间给出以下错误:
[ERROR]存储库中插件“edu.clemson.cs.rsrg:git-plugin”的错误解析版本[local(/home/hamptos/.m2/repository),中央(http://repo.maven.apache.org/maven2)]:任何插件存储库中都找不到插件
它还导致我后来的格式化插件失败。(很明显,它读取了jar并确定了组名/插件名,但随后它又在我的本地repo中查找它?当然,它不在那里--我正在尝试安装它。)
>
build-helper:attach-artifacts
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.7</version> <executions> <execution> <id>attach-artifacts</id> <phase>install</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${basedir}/plugins/git-plugin-0.1.0a.jar</file> <type>jar</type> </artifact> </artifacts> </configuration> </execution> </executions> </plugin>
在MVN Build
期间给出以下错误:
[错误]无法执行目标org.codehaus.mojo:build-helper-maven-plugin:1.7:项目上的Attach-Artifact(attach-artifacts)解析:执行目标org.codehaus的attach-artifacts.mojo:build-helper-maven-plugin:1.7:Attach-Artifact失败:项目{edu.clemson.cs.rsrg:resolve:12.09.01a:jar}:附加的项目必须具有与其对应的主项目不同的ID。
(解析:12.09.01A是主项目。很明显这里出了问题,因为插件和主项目肯定有不同的工件。可能是想把项目附加在自己的上面吗?)
>
maven-install-plugin:install-file
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.3.1</version> <executions> <execution> <id>install-git-plugin</id> <phase>initialize</phase> <goals> <goal>install-file</goal> </goals> <configuration> <file>${basedir}/plugins/git-plugin-0.1.0a.jar</file> <packaging>jar</packaging> <groupId>edu.clemson.cs.rsrg</groupId> <artifactId>git-plugin</artifactId> <version>0.1.0a</version> </configuration> </execution> </executions> </plugin>
在我尝试调用mvn edu.clemson.cs.rsrg:git-plugin:rebase
这样的目标之前,似乎工作得很好,这时它会给出以下错误:
[ERROR]无法在项目上执行目标edu.clemson.cs.rsrg:git-plugin:0.1.0a:rebase(default-cli)解析:执行目标edu.clemson.cs.rsrg:git-plugin:0.1.0a:rebase失败:无法从插件edu.clemson.cs.rsrg:git-plugin:0.1.0a:com.google.inject.provision加载mojo“rebase”(或其所需组件之一)异常:Guice提供错误:[ERROR][ERROR]1)ComponentFactory中的错误:在
你可能会觉得这很奇怪,但这是maven的方式。它需要部署到maven repo。
如果您将它保存在一个您可以明显拥有的groupId,并且它是开源的,那么您可以将它发布到central
我为gradle创建了一个简单的基于groovy的插件。 在我的毕业典礼上。构建文件我有以下内容: 一切都很好,我得到了一个构建目录和一个. jar在lib文件夹中生成,我想这是独立的插件。 现在我想知道如何将这个新插件注册到我的gradle安装中,这样我就可以应用插件了:“myPlugin”我做了以下工作: 将插件放入安装中的插件文件夹 创建了myplugin.properties文件并将其包含
试图了解如何创建自定义插件。但我无法完成我的新任务。我得到这个错误: 无法应用插件[id为“Code4Reference”] 更新:现在我面临另一个问题,当执行我的新任务,应该签署所有的RPM在路径上找到。我知道这在大楼里很好用。格拉德尔: 在libs.gradle.sign类型的任务“:MyTask”上找不到参数[libs.gradle.sign$_showmessage_closure1@4b
我有一个gradle构建脚本,它检索了一些常见的依赖项,并将它们组合起来创建了一个“胖罐子”。
我面临一个自定义插件的问题,这将显示从一个特定类别(移动)分类相关的帖子。如果没有帖子匹配分类法,它应该显示来自该特定类别的其他帖子。首先,我获取了当前帖子(single.php)的所有分类和术语。然后我准备一个查询参数使用循环。该代码适用于以下情况, a) 我没有添加任何帖子标签(当前帖子),然后它会显示来自同一类别(手机)的其他帖子, b) 如果我添加了一个post标记,并且还有其他post与
我正在尝试发送电子邮件时,一个订单被移动到一个自定义状态在Woocommerce。我已经成功地创建了一个插件,它创建了一个自定义状态,订单被分配给自定义状态。 我还成功地在WooCommerce中的Settings->Emails下添加了一个自定义电子邮件模板,并编写了代码,当订单移动到自定义状态时,该代码应该发送电子邮件。 但是,代码不会被触发,电子邮件也不会被发送。 下面是我的代码。 在我编写
问题内容: 我正在使用以Python编写的mapper和reducer在Hadoop中(在Amazon EMR上)运行流作业。我想知道如果我在Java中实现相同的mapper和reducer(或使用Pig),将会获得的速度提升。 特别是,我正在寻找人们从流媒体迁移到自定义jar部署和/或Pig的经验,以及包含这些选项的基准比较的文档。我找到了这个问题,但是答案对我来说不够具体。我不是要在Java和