Tag: maven

Maven版本控制的最佳实践

什么是最好的方式来改变版本的Maven项目,发布这个版本,然后返回到*-SNAPSHOT发展。 目前我在做以下事情: 从pom.xml检索当前版本(很可能是SNAPSHOT ) 增量版本( mvn -DnewVersion=<something> versions:set ),遵守问题Maven工件版本中描述的规则 mvn:install发送到回购 重命名版本再次添加SNAPSHOT后缀。 提交更改(使用某些版本控制系统) 我有一个强烈的感觉,我做错了什么和/或效率低下。

如何将我的应用程序添加到Eclipse中的Tomcat?

我有一个使用Maven构build的Web应用程序。 大多数情况下,我使用Intellij IDEA构build应用程序,但现在我想在Eclipse中导入应用程序以查看此IDE中的某些内容。 在mvn eclipse:eclipse ,我在Eclipse中添加了应用程序,但是当我尝试将应用程序添加到服务器(tomcat)时,我收到: There are no resources that can be added or removed from the server 解决scheme?

ant到Maven – 多个构build目标

我有一个目前正在转换为Maven的Ant构build。 但是,Ant构build有两个构build目标 – 一个构build整个应用程序,另一个从一些文件(仅less数)构buildJAR。 在Ant中,很容易有多个构build目标来处理这个问题,但我试图确定在Maven中处理这个问题的最佳方法。 我可以将文件的子集分成第二个项目,它将拥有自己的POM。 那么第一个项目就可以依靠这个。 但是,由于文件的子集非常小(less于10个),似乎有一个全新的项目可能是矫枉过正的。 还有其他的方法来处理这个?

基本的maven插件项目不工作,Mojo插件描述符不生成

我正在按照教程创build一个Maven插件,不能运行mvn安装而不会出错。 信息抱怨说,当注释应该为我生成它们时,我没有所需的mojo描述符。 我正在运行maven 3.0.5并使用intellij作为我的ide。 这是我的主要类: @Mojo(name = "modify-connector") public class ComplianceMojo extends AbstractMojo { @Parameter private String artifactId; @Parameter private String version; @Override public void execute() throws MojoExecutionException, MojoFailureException { File jar = new File(getPluginContext().get("project.build.directory") + "/" + getPluginContext().get("project.build.finalname") + "/" + artifactId + "-" + version); if(jar.exists()){ getLog().info("The file exists! " + jar.getAbsolutePath()); } […]

maven:是否可以通过使用命令行选项或envvariables覆盖本地存储库的位置?

目前我们在settings.xml中指定本地资源库的位置。 是否有可能通过命令行或envvariables覆盖此设置,以便我可以使用替代位置有时?

Maven不使用Java 7

我想打包一个maven(多)模块,父POM包括: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> 我使用的是Java 1.7,属性如下所示: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <slf4j.version>1.6.1</slf4j.version> </properties> Maven版本是2.2.1: johannes@luna:~/workspace/treetank/bundles/treetank-core$ mvn -version Apache Maven 2.2.1 (rdebian-6) Java version: 1.7.0 Java home: /usr/lib/jvm/jdk1.7.0/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "3.0.0-14-generic" arch: "amd64" Family: "unix" 我不知道为什么它不使用Java版本1.7。 当调用mvn package我得到错误(例如使用-source 7或更高来启用菱形运算符)。 你知道为什么使用1.6吗? 有效的POM是: <plugin> […]

Java的CSVparsing器比较

我一直在尝试比较我的Java应用程序的CSVparsing器库。 我的文章将旨在捕捉大多数受欢迎的人谈论。 我研究的stream行的是: OpenCSV( http://opencsv.sourceforge.net/ ) OpenCSV分叉( https://code.google.com/p/opencsv/ ) SuperCSV( http://supercsv.sourceforge.net/ ) JSefa( http://sourceforge.net/projects/jsefa ) Apache Commons CSV( http://commons.apache.org/proper/commons-csv/index.html ) OpenCSV回顾其他post的不同Stackoverflow投票,OpenCSV似乎是最受欢迎的。 但是很久没有更新了。 最后一个版本是3年前在2011年( http://sourceforge.net/projects/opencsv/files/opencsv/ )。 OpenCSV分叉这个项目是因为[OpenCSV]项目的作者不答复的结果。 这给了我不要使用“OpenCSV”的原因。 我没有听到太多的消息,所以我不愿意使用它。 SuperCSV拥有良好的文档,最近的一个版本是大约一年前(2013年)。 JSefa我真的很喜欢这个,因为它支持注释,看起来很简单。 最近几个月才更新。 在这里看到它的用法的例子,第一个答案 – https://stackoverflow.com/questions/18067934/parsing-csv-file-with-java 。 唯一的问题是我无法find最新版本的Maven上传,maven上的版本是0.9.3,这是4岁(请求Maven上传 – http://sourceforge.net/p/jsefa/ bug / 3 / )。 这表明他们缺乏支持。 Apache Commons CSV本项目旨在整合/制作冗余OpenCSV,Skif CSV和GenJavaCSV。 这似乎全部纳入。 但是它还没有发布,并且在发布的时候是不知道的(目前在沙箱中)。 我对你已经评论过这些CSV库的个人build议感兴趣吗? 或者如果你知道这些库的发布date等。 特别是JSefa,因为它的注释看起来很容易使用? 而Apache Commons,所有封装,但还没有发布? […]

如何使Android Studio下载依赖关系源代码和javadoc?

我已经检查过这个post: 如何在IDEA下载Gradle项目的依赖源? 但是这对我没有用。 也许这是因为他们指的是IntelliJ Idea,而我遇到了Android Studio的问题。 我曾尝试添加 apply plugin: 'idea' idea { module { downloadJavadoc = true downloadSources = true } } 这两个都是根的build.gradle文件(我在多项目设置)或应用程序的build.gradle文件。 我的应用程序的gradle文件: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.2' } } repositories { mavenCentral() } dependencies { compile files('libs/android-support-v4.jar') compile 'com.nostra13.universalimageloader:universal-image-loader:1.8.4' } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { […]

Maven插件用于版本控制和缩小javascript

单页JavaScript应用程序 我已经构build了一个复杂的ajax驱动的单页web应用程序,它使用一个RESTful后端Web服务服务JSON。 JavaScript分成许多不同的文件,每个文件代表某种function或组件。 虽然服务已经进行了alphatesting,但是我只是单独提供所有这些文件而不用缩小。 但现在我想推出一个testing版,我真的需要合并文件,缩小它们,并对它们进行版本化。 我想使用Maven将其添加到我的构build过程中。 Javascript文件types 我正在使用以下“types”的JavaScript文件,其中#3和#4是我的顾虑: 外部文件,例如Google CDN提供的jquery和jquery-ui。 很less更改这些版本,可以手动处理。 我自己托pipe的jquery插件,如fullcalendar或UI布局。 再次,我很less更新这些新版本,并可以手动处理。 应用程序范围的JavaScript代码。 自定义JavaScript跨多个文件传播,可以偶尔更改。 所有这些文件需要加载的应用程序工作。 function特定的JavaScript代码。 在请求特定function时按需加载的自定义JavaScript。 此代码可以相当频繁地更改,并且不会在启动时加载。 构build目标 我想在构build过程中执行以下操作: 将所有types3的JavaScript文件连接在一起,缩小它们,并保存为带有版本号的单个文件。 例如: app-2.0.6.min.js ,其中2.0.6是Maven项目版本。 所有types4文件应该单独缩小并保存为名称中带有版本号的单独文件。 例如: feature-abc-56ab32de29.min.js ,其中56ab32de29是该特定文件的版本号。 使用<script>标签更新HTML文件,以指向具有正确版本号的JavaScript文件。 更新加载types4特征javascript文件的Javscript文件指向正确的版本。 问题 有没有一个maven插件可以协助连接? 有没有一个maven的插件,将有助于缩小? 理想情况下,我想使用Google Closure编译器,但如果更简单,可以与其他人一起使用。 有没有一个maven插件,将有助于版本? 有没有办法让types4的JavaScript文件有独立的版本号? 理想情况下,如果一个文件在版本2.0.5和2.0.6之间没有变化,用户就不需要下载一个新的版本,他们的caching版本就可以正常工作。 我正在使用GIT进行源码控制,那么是否有办法使用文件的GIT哈希码进行版本控制? 有没有一种解决scheme,将压缩在常规HTML文件中内联的JavaScript,而不杀死HTML? 有没有一种解决scheme可以压缩和版本我的CSS文件?

访问在pom中定义的maven属性

我如何访问在一个正常的Maven项目,以及在Maven插件项目中的POM中定义的Maven属性?