Tag: maven 2

Maven,配置具体目标

我想配置maven-war-plugin的“爆炸”目标: org.apache.maven.plugins maven-war-plugin exploded war 我需要手动运行“爆炸”目标,并且不希望将执行附加到任何lifycycle阶段。 但是当我执行“mvn war:explosion”时,maven忽略了我的配置。 请告诉我,怎么做:)

maven multimodule中的自定义pom.xml文件名

我有一个maven3多模块项目,由于一个奇怪的原因,我需要为我的一个子模块自定义POM文件名(即:module-pom.xml) 是否可以在父pom中配置它? 奇怪的原因有点长,以解释抱歉,但你将有明确的背景。 上下文 我正在开发一个也使用LGPLed项目的封闭源项目。 这个项目叫做main 我希望main声明每个项目的模块,关闭和打开。 应使用唯一的mvn clean package命令进行完整构建。 在main反应堆项目中,我有lgpl-reactor多模块项目,包含3个LGPL模块(API,插件和分发项目)。 有些开发人员只能访问lgpl-reactor ,所以我也希望这个项目使用mvn clean package命令从其文件夹构建,就像一个完全独立的项目。 我还有main-dist项目,它只是一个maven-assembly-plugin项目(用于构建发行版)。 问题 如果我添加对lgpl-reactor pom.xml的父引用,则全局main构建工作正常,并且main-dist创建的程序集有效,但lgpl-reactor的独立构建失败(未找到主pom.xml)。 如果我从lgpl-reactor pom.xml中删除父引用,则独立的lgpl-reactor构建工作,但main-dist创建的程序集无效(缺少。 怎么解决这个? 在main模块声明列表中使用另一个POM文件module-pom.xml进行lgpl-reactor模块声明。 当从main项目执行完整构建时, module-pom.xml包含对父POM的引用并且正常工作。 使用默认的POM文件pom.xml进行lgpl-reactor构建。 此POM很难使用标记的relativePath属性引用父pom 但我怎么能这样做? 如果可能的话 ? 或者有更好的解决方案吗? 主反应堆项目目录 lgpl-lib [LGPL Library] lgpl-ext [LGPL Reactor Project] closed-core [Closed source module] closed-spring [Closed source module] closed-web [Closed source module] closed-webserver [Closed source module] […]

Maven目录结构

我是Maven的新手,我一直在阅读所有早上的教程(神奇的工具)。 然而,我开始研究的这个新Java项目不使用默认目录结构。 它使用src/org/myapp类的东西代替src/main/java 。 当我在项目上运行mvn package ( pom.xml所在的位置)时,我收到一条消息,说没有编译源,因为它无法找到它们(源路径不同)。 有没有办法在Maven中指定自己的源路径?

如何在测试期间覆盖log4j.properties?

我正在尝试在maven测试期间将所有DEBUG消息记录到控制台。 为此,我创建了一个文件src/test/resources/log4j.properties ,它将覆盖我在src/main/resources/log4j.properties已有的配置。 不幸的是,这种压倒一切都没有发生。 为什么以及如何解决它?

将Maven Java编译器调试设置为false不会删除行号表?

也许这是我缺乏理解,但我会假设在Maven Java项目中执行此操作会禁用所有调试信息进入Class文件: org.apache.maven.plugins maven-compiler-plugin false 但是,我刚刚测试了它,当局部变量表消失了,并且源文件引用消失了,行号表仍然存在。 我做了一个javap -l MyClass ,仍然有类似的东西: protected com.mycorp.myapp.randomMethod(); LineNumberTable: line 197: 0 line 68: 4 line 69: 9 line 70: 14 line 198: 19 显然,这些东西还在那里……我想。

Maven和Protobuf编译错误:无法在com.google.protobuf包中找到符号

我是Linux和Protobuf的新手……我需要帮助。 我正在尝试“mvn package”一个包含许多“.proto”文件的项目,当然还有一个pom.xml文件…… 我正在研究Ubuntu ======================================= 错误 当我运行“mvn package”时,我收到此错误: 后 … Compiling 11 source files to …/target/classes … 我收到了一堆这些错误: [ERROR] …/target/generated-sources/…java:[16457,30] cannot find symbol [ERROR] symbol : class Parser [ERROR] location: package com.google.protobuf [ERROR] [ERROR] …/target/generated-sources/…java:[17154,37] cannot find symbol [ERROR] symbol : class Parser [ERROR] location: package com.google.protobuf [ERROR] [ERROR] …/target/generated-sources/…java:[17165,30] cannot find symbol [ERROR] symbol […]

在构建过程中扫描病毒

我想将病毒扫描结合到Java / Maven / Hudson构建过程中。 不幸的是,我在这种构建步骤的专用工具上找不到任何资源。 我的构建环境是基于Linux的。 我的问题是: 如何将防病毒扫描整合到基于Maven和Hudson的构建过程中? 什么是最佳做法? 扫描步骤是否应与正常构建分开,例如预构建步骤甚至是单独的构建作业? 扫描是否应该在包装的后期进行,在所有的文物被打包到jar文件之后或者在过程的早期? 是否每个发布的人工制品都包含一个扫描仪日志文件,用于确定正在使用的防病毒工具,病毒定义文件的版本和日期? 使用哪种防病毒软件超出了本问题的范围。 (例如,我想使用商业供应商支持像ClamAV这样的免费工具)

如何编写Maven构建脚本来执行Java

如何在构建期间或构建完成后执行Java程序? 是否有可能直接从pom这样做? mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main 编辑 假设我想执行org.eclipse.content.MyClass 。 我怎么需要编写代码? 这会构建项目,但它不会执行我的类: org.codehaus.mojo exec-maven-plugin 1.1 deploy java org.eclipse.content.MyClass

如何在工件中配置更长的版本号

我们的jar子的版本号必须更长xxx我们宁愿需要xxxx来整合一些老式的自制机制。 这是因为我们用xxx标记我们的软件,一旦我们交付给客户,就必须在这个时间点准确地构建一个特定的jar,以适应另一个与我们的程序通信的后端。 出于这个原因,这个jar有版本2.3.4.1,当生成时,在下一次交付相同版本时,它就是构建并命名为2.3.4.2。 现在神器无法处理这个在某些情况下不能保存超过xxx2。 所以我们想到可能在maven存储库布局中编辑正则表达式(参见附件截图)因为在下面的字段中测试路径显示,它无法处理版本号。 当然对于我们的其他jar子,xxx仍然需要工作.. 例如,这里是maven-metadata.xml com.firm someid 1.5.1 1.5.1 1.5.1 1.4.62 20120926073942 文件夹结构如下所示: someid – 1.4.62 – 1.4.62.1 – 1.4.62.2 – 1.4.62.3 如果我们部署新的工件版本(1.4.62.1),则maven-metadata.xml包含1.4.62.1版本。 但是,在未指定的时间之后,工件会覆盖版本号(1.4.62.x)到(1.4.62)。 似乎artifactory只支持major,minor和revision数字,并删除buildnumber。 现在我们寻找解决方案来禁用此行为。 我们使用JFrog Artifactory版本2.5.0(rev.13086)。

APT和AOP在同一个项目中,使用Maven

我必须在同一个Maven项目中使用Annotation Processing(apt)和AspectJ。 两者都适合自己,但我需要根据apt创建的代码创建方面。 所以我需要二进制编织(原始源文件由apt扩展)。 如何在maven项目中启用二进制编织? 我知道唯一的标准选项是使用weaveDependencies参数提供依赖项 ,但这很糟糕。 还有别的办法吗? 好吧,我可以使用Maven Antrun插件嵌入AspectJ ant任务 ,但我不想诉诸于此 。