Tag: maven plugin

使用Lambdas时,Maven插件构建失败

我写了一个maven插件/ mojo来生成一些代码。 该插件运行良好,并使用Java JDK 1.8构建。 我看到了一些奇怪的行为:它构建,安装等等,如果我使用1.8之前的语法,但是只要我使用Java 8 Lambda表达式,我在执行mvn clean install时会收到以下错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor (default-descriptor) on project my-maven-plugin: Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor failed: 13557 -> [Help 1] 这是我的pom: 4.0.0 com.my.group.id my-maven-plugin maven-plugin 1.0-SNAPSHOT My Maven Mojo http://maven.apache.org 4.0.1.RELEASE 2.3 org.apache.maven.plugins maven-compiler-plugin 3.2 1.8 1.8 org.apache.maven.plugins maven-plugin-plugin 3.2 true mojo-descriptor descriptor inin-release ININ […]

Intellij Maven:创建包含所有库依赖项的jar

使用IntelliJ Idea,我想实现以下内容: 我想将应用程序导出到jar,其中包含所有需要的库。 例如,我需要用于S3访问的AWS Java SDK库,但是如果我将jar上传到服务器并运行jar我得到NoClassDefFoundError,请参见下文: Exception in thread “main” java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) at java.lang.Class.getMethod0(Class.java:2866) at java.lang.Class.getMethod(Class.java:1676) at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486) Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentials at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) … 6 more 比较:我在Eclipse中创建了相同的项目并且没有错误! jar文件大小非常不同(Eclipse:~35 MB对比IntelliJ Idea:~5,5 MB)! 我通过Maven包含了这些库,并将它们也下载到我项目的“lib”文件夹中: 作为运行配置中的参数我设置“包”,请参见下面的截图: 解: […]

如何在maven2中跟踪插件依赖项?

我试图找到一个邪恶的插件,其中包括某个jar文件的stoneage版本。 我怎么做 ?

maven-native-plugin是否广泛用于使用maven构建C ++项目?

自从我专业地进行C ++开发以来,我已经有一段时间了,我想了解C ++开发在许多领域的当前状态。 我最近的大部分工作都是Java,大量使用Maven。 当我上次进行C ++开发工作时, make一些变体被广泛接受为构建C ++项目的方式(我们也使用make在我们的混合Java和C ++项目中构建Java代码,尽管我相信ant是开始成为主流)。 我喜欢使用Maven进行构建。 我的问题不是讨论使用Maven的相对优点,而是要确定Native Maven插件用于构建C ++项目的采用程度以及人们对此的体验。 或者,是否有一个新的通用工具链用于C ++构建,具有很大的动力?

你怎么强迫maven MOJO在构建结束时只执行一次?

我有一个MOJO我想执行一次,并且只有在反应堆的最后一个项目的测试阶段之后运行。 使用: if (!getProject().isExecutionRoot()) { return ; } 在execute()方法的开头,意味着我的mojo被执行一次,但是在构建的最开始 – 在所有其他子模块之前。

如何默认将maven插件附加到阶段?

我有一个应该在编译阶段运行的maven插件,因此在使用我的插件的项目中,我必须做这样的事情: compile my-goal 我需要的是默认情况下,如果用户已经包含了我的插件,那么将my-goal附加到编译阶段(理想情况下,上面的部分不是必需的,只是插件声明)。 这可能吗?

使用Eclipse风格的Maven2组织导入?

我是一个独立的Emacs用户,在一个挂在Eclipse上的组中。 通过Eclipse“组织”或“清理”的导入,一次又一次地使代码差异更大。 我对Java中的导入样式主题没有强烈的意见,但我确实希望尽量减少差异。 我能做什么? 我们使用Maven2进行构建; 有插件可以帮助我吗? 可以将一块Eclipse抽象出来并变成一个Maven插件吗? 我目前使用的是ImportScrubber ,并且遇到过其他一些独立的部件,它们也做同样的事情。 我真正想要的是一个可以与构建集成的Maven插件。 除非上述内容,否则我会将ImportScrubber调用放入我的.git/hooks/post-commit 。

Maven:在哪里为tomcat-maven-plugin添加生成的资源?

我的项目的src/main/webapp目录中有CSS和JavaScript文件。 我想加入这些资源的加入和缩小版本到我的WAR文件和tomcat-maven-plugin选择它的地方。 我使用yuicompressor-maven-plugin创建文件并将其放到${project.build.directory}/${project.build.finalName} 。 它适用于maven包,这些资源可以用于WAR文件,但不知何故tomcat-maven-plugin根本看不到它们。 我应该使用不同的目录吗? 我的pom: org.codehaus.mojo tomcat-maven-plugin 1.1 /MyApp ${project.build.directory}/${project.build.finalName} 2.5.1 true org.apache.maven.plugins maven-compiler-plugin 1.6 1.6 true true org.apache.maven.plugins maven-resources-plugin 2.5 UTF-8 org.apache.maven.plugins maven-war-plugin 2.2 ${basedir}/src/main/resources/META-INF true META-INF context.xml false true true net.alchim31.maven yuicompressor-maven-plugin 1.3.0 process-resources **/* ${project.build.directory}/${project.build.finalName}/js/commons-pack.js ${project.build.sourceDirectory}/../webapp/js1.js ${project.build.sourceDirectory}/../webapp/js2.js … 我该怎么做才能制作mvn tomcat:run以获取我生成的文件?

unit testingmaven插件

我正在寻找有关如何为Maven插件编写unit testing的信息。 尽管Maven网站上有关于此主题的页面 ,但只有一个示例unit testing,它没有任何用处。 我也找到了这个wiki页面 ,但它已经超过4年没有更新了,所以我不愿意投入任何信任。 我查了一本书“Maven的权威指南”,但它甚至没有提到这个主题。 我想用Groovy或Java编写unit testing,并希望了解有关如何执行此操作的任何信息。 我正在使用Maven 2.1.0版。

自动部署到sonatype的oss maven存储库

我有几个github java项目。 其中一个我手动部署到sonatype的存储库,以便它在maven中心发布。 这是一个有点痛苦的过程,因为它似乎涉及太多的箍以跳过和大量的手动工作,我想自动化。 所以我实际上已经停止这样做了,因为这只是太多的工作。 有大量的文档表明这是可能的,并且相当多的文档表明它以某种方式涉及使用nexus-staging-maven-plugin做一些事情。 不幸的是,所有这些文档都是(以典型的maven风格)跳过基本细节,这使我能够以简单的方式找出允许我自动将发布版本自动发布到sonatype存储库所需的最少步骤(即没有我手动批准的东西)。 那么,什么是我的pom中需要出现的模糊(假设一个标准的不复杂的java项目),包括sonatype存储库的url,我发现的所有文档似乎都坚持localhost:8081就是它,并且是必需的maven咒语让它做一个释放(最好通过mvn发布插件 ),让它签署工件,并让它将生成的工件部署到sonatype,批准,并准备好同步到maven central等。 所以,我正在寻找在ruby世界中替换“gem推”的maven,它可以在一个方便的单线上完成工作。 这是一个简单的例子,给出了一个由我批准的jar文件,我如何让它以最少量的大惊小怪结束在maven中心。 我非常感谢已经设置的pom文件的一些例子,我可以复制和改编。 编辑: 这是我工作的pom文件: 4.0.0 com.jillesvangurp jsonj 1.34-SNAPSHOT JsonJ A framework for working with json in Java the “proper” way. No mappings or model classes, it’s all just lovely json, but in Java. https://github.com/jillesvangurp/jsonj MIT license https://github.com/jillesvangurp/jsonj/blob/master/LICENSE repo git://git@github.com:jillesvangurp/jsonj.git scm:git:git@github.com:jillesvangurp/jsonj.git scm:git:git@github.com:jillesvangurp/jsonj.git sonatype-nexus-snapshots Sonatype Nexus […]