Tag: maven plugin

在maven构建阶段更新jsp脚本标记

我想更新src / main / webapp / jsp下的jsp文件中所有脚本标签内的内容。 如何在maven构建阶段执行此操作? 我正在使用java + spring + maven堆栈。 好的,这是我想要实现的例子: 源代码: 在maven构建之后,它应该存在于目标文件夹中 <script type="text/javascript" src="js/core/validator.js?version=''”> <script type="text/javascript" src="js/app/util/core-util.js?version=''”> 请注意src =“”末尾的version参数。 更新:最后,我能够按照以下方式开展工作。 如果有的话,请随意提出替代方案。 准备好shell脚本来生成类似这样的属性文件 JS /核心/ validator.js = JS /核心/ validator.js?版本\ = MD5SUM-JS的-/核心/ validator.js JS /应用/ util的/芯util.js中= JS /应用程序/ util的/芯util.js中?版本\ = MD5SUM-JS的-/应用/ util的/芯util.js中 配置maven-replacer-plugin以将此属性文件用作标记值映射并过滤target / app / jsp文件夹下的所有jsp文件。

如何在桌面应用程序的pom.xml中只配置一次

我正在使用maven制作一个swing应用程序,并且我试图将pom.xml保持在紧密的状态(这个文件在粘贴到谷歌后我们发现的任何东西后都会变成一堆垃圾)。 我的pom是jar,我使用带有“jar-with-dependencies”描述符的maven-assembly-plugin。 所以我需要定义两次我的项目部分(主类和版本),一次用于普通jar,另一次用于jar-with-dependencies。 我认为问题来自jar-with-dependencies程序集描述符,而不是解压缩普通的jar并融合清单,它从$ {project.build.outputDirectory}创建了一个新的jar,这对我来说很奇怪。 有没有人有一个紧凑而优雅的想法,以避免重复我的清单配置? 谢谢,尼古拉斯。

如何使用API​​ 3.1.1在Maven插件中使用Aether(eclipse)?

我正在使用API​​ v3.1.1开发一个新的Maven插件,因为我需要升级到Maven 3.1.1,并且需要以Aether的方式处理工件存储库,以及检索工件版本的完整列表。 我正在使用Eclipse Aether(0.9.0.M4),而不是 Sonatype Aether。 我已经通过http://wiki.eclipse.org/Aether阅读并尝试了演示http://git.eclipse.org/c/aether/aether-demo.git/tree/ ,但我还没能理解为什么AbstractMojo的子类中的以下内容不起作用。 RepositorySystem repoSystem , RepositorySystemSession repoSession , List projectRepos和List pluginRepos都为null 。 我也尝试使用@Component来注入具有相同结果的那些。 有什么我错过了,以便将这些物体注入魔力? import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.repository.RemoteRepository; … public MyMojo extends AbstractMojo { /** * The entry point to Aether, ie the component doing all the work. * * @component */ private RepositorySystem repoSystem; /** […]

使用maven-plugin-testing-harness测试Maven插件

我想开发一个Maven插件并正确测试它。 我正在阅读有关maven-plugin-testing-harness的文档并尝试了几个小时。 我经常NoClassDefFoundError和NoSuchMethodError ,我无法弄清楚我需要哪些依赖项。 这是我的MCVE: https://github.com/highsource/hello-maven-plugin 现在我得到: java.lang.NoClassDefFoundError: org/apache/maven/plugin/descriptor/PluginDescriptorBuilder at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:161) at junit.framework.TestCase.runBare(TestCase.java:139) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:129) at junit.framework.TestSuite.runTest(TestSuite.java:255) at junit.framework.TestSuite.run(TestSuite.java:250) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: java.lang.ClassNotFoundException: org.apache.maven.plugin.descriptor.PluginDescriptorBuilder at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 15 more 这是我的插件的pom.xml […]

为aspectj运行JDK8

我正在尝试使用JDK8运行aspectj-maven插件。 但它给出的错误如“java.lang.CharSequence类型无法解析。它是从所需的.class文件间接引用的” 有关如何解决的任何帮助,或者aspectj-maven-plugin是否支持JDK8。 我正在使用1.6版本的aspectj – maven-plugin。

如何理解Maven依赖树

请原谅这是一个转储问题,但我已经搜索了很多,并且无法理解如何真正阅读Maven Dependency tee。 我知道这个命令用于计算依赖关系但是如何? 这是mvn dependency:tree -Dverbose的结果mvn dependency:tree -Dverbose在我的项目中。 [INFO] +- org.springframework:spring-core:jar:4.0.2.RELEASE:compile [INFO] | \- commons-logging:commons-logging:jar:1.1.3:compile [INFO] +- org.springframework:spring-web:jar:4.0.2.RELEASE:compile [INFO] | +- (org.springframework:spring-aop:jar:4.0.2.RELEASE:compile – omitted for duplicate) [INFO] | +- org.springframework:spring-beans:jar:4.0.2.RELEASE:compile [INFO] | | \- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile – omitted for duplicate) [INFO] | +- (org.springframework:spring-context:jar:4.0.2.RELEASE:compile – omitted for duplicate) [INFO] | \- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile – omitted for […]

maven project-reports.html vs index.html

我有一个多模块pom ProjectBaseDir> 模块A. 模块B. parentPom.xml 我没有任何site.xml ProjectBaseDir> mvn clean site 在目录下生成以下文件 ProjectBaseDir /目标/现场> cpd.html,pmd.html,findbugs.html project-reports.html(注意:没有index.html) 文件夹(css,图像,apidocs) 在多模块pom中生成的链接指向“index.html”,但不创建该文件。 staging修复了模块文件的相对路径,但index.html的原始问题仍然存在 ProjectBaseDir> mvn site:stage 如何修复指向“project-reports.html”的链接? 或者我如何指示mvn网站创建index.html而不是project-reports.html? 注意 :我尝试使用索引报告集“maven-project-info-reports-plugin”,但它没有改变任何内容。

使用哪个App Engine Maven插件?

最近我一直在使用Google App Engine,偶然发现了一些对我来说很神秘的事情,也许你可以澄清一下。 根据谷歌自己的一些网站( https://cloud.google.com/appengine/docs/java/tools/maven )你应该使用 com.google.appengine appengine-maven-plugin ${appengine.maven.plugin.version} 并根据其他一些页面( https://cloud.google.com/appengine/docs/java/tools/maven-reference )你应该使用 com.google.cloud.tools appengine-maven-plugin 1.1.0-beta 现在我真的很困惑我应该使用哪个。 为什么首先有两个版本? 我面临的问题: 两者似乎都支持不同的目标。 一个支持部署等,另一个支持update和update_cron。 我需要所有这三个目标,任何方式我都可以拥有一个依赖? 在此先感谢,希望有人可以帮助我。 萨沙

如何在Maven中启用Ebean Enhancement?

我一直在使用Avaje.org ebean ORM层,但我不明白如何使用Maven启用“Ebean v2.6.0用户指南”中描述的字节码增强function。 我在Avaje.org主页上找到了一个配置示例 ,但它不起作用。 GitHub上的演示Maven样板也没有。 救命!

如何在Maven 2中使用自定义注释处理器?

在我们的企业应用程序中,我们正在寻找一种从Java类中收集数据的动态方法。 我们创建了一个带有name属性的自定义注释接口( @interface )。 我们想从所有带注释的类中收集此属性的值。 我设法为自定义注释创建AnnotationProcessorFactory和AnnotationProcessor 。 由于我们使用的是Maven 2,因此我将以下内容添加到主项目的pom.xml中的插件中。 org.codehaus.mojo apt-maven-plugin 1.0-alpha-5 our.company.api.component.lister.ComponentAnnotationProcessFactory 这属于主项目,有几个子项目。 工厂和定制处理器属于这些子项目之一。 自定义注释分散在所有子项目中,这就是我将插件放在主项目的pom.xml中的原因。 问题是当我发出mvn apt:process命令时,我收到了关于没有处理器的注释的警告,我们的自定义注释就在其中。 我认为这意味着该插件无法找到工厂类。 我应该怎么做才能让插件找到工厂和处理器文件? 编辑: 项目层次结构非常简单: main_project |-sub_project1 |… |-sub_projectn 该插件位于main_project的pom.xml中。 假设工厂和处理器在sub_project1 ,自定义注释在sub_project2 , sub_project3 ,…, sub_projectn