Tag: maven

如何设置maven 3本地插件库

由于一些限制,我需要一个完全脱机的maven存储库。 根据http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException ,仅搜索以查找插件。 所以我想知道如何配置maven来查找本地文件系统中的插件。 我在设置时尝试使用“file://”前缀,但它不起作用。 DEBUG] Verifying availability of /home/dsun/.m2/repository/org/apache/karaf/tooling/features-maven-plugin/2.3.0/features-maven-plugin-2.3.0.jar from [central (http://repo1.maven.org/maven2, releases=true, snapshots=false, managed=false)] [ERROR] Plugin org.apache.karaf.tooling:features-maven-plugin:2.3.0 or one of its dependencies could not be resolved: The repository system is offline but the artifact org.apache.karaf.tooling:features-maven-plugin:jar:2.3.0 is not available in the local repository. -> [Help 1] org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.karaf.tooling:features-maven-plugin:2.3.0 or one of its dependencies […]

在Maven中为注释处理器设置生成的源目录

我正在尝试将使用注释处理器生成源的构建移动到Maven。 我尝试过如下配置maven-compiler-plugin: org.apache.maven.plugins maven-compiler-plugin true -s ${project.build.directory}/target/generated-sources/annotation-processing 但是javac失败了 [INFO] Compilation failure Failure executing javac, but could not parse the error: javac: invalid flag: -s /home/robert/workspaces/betbrain/sportsengine.common/sportsengine.bean.test/target/target/generated-sources/annotation-processing Usage: javac use -help for a list of possible options 据我所知,-s应该在源文件之前传递给javac,但maven之后传递它。 如何将-s标志正确传递给maven-compiler-plugin? 更新 : maven-annotation-plugin似乎不起作用。 配置为时 org.bsc.maven maven-processor-plugin 1.0-SNAPSHOT process process generate-sources ${generated.sources.directory} xxx.annotation.EnforceJavaBeansConventionsProcessor 执行失败 [INFO] [processor:process {execution: process}] error: […]

Android protobuf纳米用法

我正在尝试使用protobuf nano从proto文件下面生成java文件。 我得到了一些关于如何继续这个SO线程的基本指令。 我有这个proto文件, personal.proto : package tutorial; option java_package = “com.example.tutorial”; option java_outer_classname = “AddressBookProtos”; message Person { required string name = 1; required int32 id = 2; optional string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { required string number = 1; […]

自动部署到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 […]

如何使用yuicompressor-maven-plugin让maven与缩小的文件建立战争

所以我正在尝试一些我认为相当简单的东西,我基本上希望maven在构建战争之前为我缩小所有js和css文件。 我的插件看起来像这样: org.apache.felix maven-bundle-plugin true 1.0.0 META-INF !test.impl,test* * src/main/resources net.alchim31.maven yuicompressor-maven-plugin 1.1 compress true 问题是YUI插件确实正确地缩小了文件,但是在构建战争之前,它看起来像是复制了我的主源目录中的所有文件,从而消除了YUI插件所做的更改。 我正在通过以下方式调用maven: mvn compile war:war 。 我已经玩了一段时间不同的设置,但到目前为止,我还没有找到解决方法。 我想要的是,在战争之后,从src目录复制了所需的文件,它将运行YUI插件,但我尝试了YUI插件上的所有阶段的排列,但这似乎没有任何区别。 我已经用Google搜索过了,但到目前为止我所阅读的几乎所有内容似乎都表明我应该像我一样放弃YUI插件并且一切都应该神奇地工作。 到目前为止,我似乎没有找到魔法。

为什么Maven找不到我的自定义Mojo?

我有自己的Mojo课程。 @Mojo(name=”mojo”, threadSafe=true) public class MyMojo extends AbstractMojo { @Component private MavenProject project; public void execute() throws MojoExecutionException, MojoFailureException { getLog().info(“Execute”); } } 之后,我将其安装在本地存储库中。 [INFO] Applying mojo extractor for language: java-annotations [INFO] Mojo extractor for language: java-annotations found 0 mojo descriptors. [INFO] Applying mojo extractor for language: java [INFO] Mojo extractor for language: java found […]

为什么maven不生成项目报告?

这是Maven 3.0。 我正在创建一个新项目: mvn archetype:create 然后我正在创建一个文件site/site.xml : 然后我在pom.xml添加一个报告插件: org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 然后我运行mvn site ,它说”BUILD SUCCESS” 。 但我没有在项目网站上看到任何报告(报告菜单项不存在)。 我究竟做错了什么?

在尝试定义模块时,Maven不会将EJB识别为项目的依赖项

今天我将本地Glassfish服务器升级到3.1.1,为我公司将服务器升级到同一版本做准备。 我正在尝试将我的Web服务项目转换为使用新服务器,并且遇到了障碍。 在我耳朵的pom文件中,我之前将webapp和ejb都列为依赖项。 在webapp的pom中,我也将ejb列为依赖项。 尝试将此配置部署到Glassfish 3.1.1时,我收到此错误: 部署期间发生错误:部署app [ear]时出现exception:无法解析引用本地ejb-ref name = name,Local 3.x interface = interface,ejb-link = null,lookup =,mappedName =,jndi-name =, refType = Session,因为应用程序中有2个ejbs,带有接口接口。 一些可能的原因:1。EJB bean类打包在ear lib库中(或通过任何其他库机制,使库对所有组件模块可见),这使得所有组件模块间接包含此bean类。 2. EJB bean类打包在一个组件模块中,该组件模块直接或间接通过Manifest,WEB-INF / lib引用EJB。 EJB bean类只应打包在声明的ejb模块中,而不是参考模块。 引用模块应该只包含EJB接口..请参阅server.log fo …. msg.seeServerLog 基本上我相信这是因为我将EJB列为两个不同领域的依赖项,Glassfish 3.1.1不知道要查找哪个依赖项。 这不是2.1.1中的问题。 因此,我消除了耳朵中的依赖性,因为它仍然是耳朵有效pom的一部分。 但是,现在当ear生成application.xml文件时,它会忽略文件中的所有ejb信息。 我现在可以很好地部署应用程序,但是当我尝试运行任何东西时,我得到关于ejbs的NameNotFoundExceptions。 我尝试使用标记手动将ejb模块添加到耳塞,但是当我尝试构建项目时,我收到错误消息: Artifact [ejb]不是项目的依赖项。 尽管事实上,当我看到耳朵的有效pom时,我可以看到ejb被列为依赖。 如何在仍然符合Glassfish 3.1.1更严格的规则集的情况下正确生成application.xml文件? 如果您需要更多信息,请告诉我们,并感谢您的帮助!

自动递增Java项目中的内部版本号

我正在使用由abbuild表示的版本控制系统,其中a是整体版本(原型,alpha和beta版本为0,主要版本为1),b是里程碑版本(沿着代表原型的行, alpha,beta阶段)和build表示项目编译的次数。 目前,我在应用程序运行时设置了调试标志,从文本文件中读取应用程序,增加数字并保存到文本文件。 我正在寻找一种更“正确”的方法来使用Java和Netbeans来做到这一点。 有什么方法可以将构建数量注入到构建过程的某个地方吗? 最好将数字保存到项目附带的源文件中 – 而不是依赖附近文件的存在。

未指定Maven插件版本

我刚刚注意到插件的版本在maven中是可选的。 我仍然可以构建我的模块而不指定它。 让我们以maven-bundle-plugin为例。 org.apache.felix maven-bundle-plugin true …. 我编写了一个简单的pom.xml而没有父亲来试试这个,所以不涉及pluginManagement。 我还检查了maven-model-builder中的超级超级pom-4.0.0.xml,以确认maven-bundle-plugin不存在。 此插件版本未在任何地方指定。 maven如何确定采用哪个版本?