我在开发中使用Eclipse,Maven和Java。 我使用Maven来下载依赖项(jar文件和javadoc,如果可用的话)以及Maven的eclipse插件来为Eclipse生成.project和.classpath文件。 当下载的依赖项没有附加javadoc时,我手动在.classpath文件中为javadoc添加一个链接,这样我就可以在Eclipse中看到依赖关系的javadoc。 然后当我运行Maven的eclipse插件重新生成.classpath文件时,它当然会消除这种变化。 有没有办法configurationMaven的eclipse插件,在运行Maven的eclipse插件时自动为javadoc添加classpath属性? 我只对javadoc和/或源代码不在Maven仓库中提供依赖的问题感兴趣,这种情况对我来说最为常见。 使用downloadSources和/或downloadJavadocs属性不会帮助解决这个问题。
我有一个Maven2项目,我需要在属性文件中添加当前版本和当前date。 对于当前的版本,我使用了${project.version} ,它能正常工作。 我的问题是我怎样才能在我的属性文件中设置当前date(即由Maven2完成构build的date): client.version=Version ${project.version} client.build=??? (另外,如果我能指定date的格式,那将非常棒)
目前我们在settings.xml中指定本地资源库的位置。 是否有可能通过命令行或envvariables覆盖此设置,以便我可以使用替代位置有时?
我想打包一个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> […]
Maven可以使用SSH将本地文件复制到远程服务器服务器? 我想在mavenconfiguration文件中指定位置,并在每次执行部署阶段时将该文件(或多个文件)复制到服务器。
JAI设置非常繁琐,涉及多个jar和环境variables。 如果我可以将它作为一个常规的Maven依赖项添加,它将有助于项目的可移植性。 我正在使用的POM片段是 <dependency> <groupId>com.sun.media</groupId> <artifactId>jai_imageio</artifactId> <version>1.1</version> </dependency> 和错误是 [INFO] ———————————————————————— [ERROR] BUILD ERROR [INFO] ———————————————————————— [INFO] Failed to resolve artifact. Missing: ———- 1) com.sun.media:jai_imageio:jar:1.1 2) javax.media:jai_core:jar:1.1.3 当然,我可以下载并安装这些jar子。 问题是双重的: jai_imageio需要两个jar子; jai_imageio需要安装本地库并设置两个环境variables。 我还没有find一个方法来使这个工作与Maven。 请参阅使用ImageIO读取JCS_YCCK图像 ,因为我正在使用JAI。
假设我正在对我有7个模块的大型项目进行全面构build,并且在第6个模块上构build失败,因为testing失败。 有什么办法可以从它失败的地步开始构build?
我有一个Maven pom.xml,里面有一个我希望能够在命令行上控制的插件。 一切工作,否则罚款,除了searchnetworking之后,我无法弄清楚如何设置我的控制属性的默认值: <plugin> … <configuration> <param>${myProperty}</param> </configuration> … </plugin> 所以如果我运行Maven mvn -DmyProperty=something … 一切都很好,但我想有一个具体的值分配给myProperty也没有-DmyProperty=…开关。 如何才能做到这一点?
有没有办法获得Maven本地回购地点? 使用以下命令可以强制Maven使用特定的设置文件: mvn -s < path to settings file > 我知道你可以编辑settings.xml文件来设置一个存储库的位置,但是我可以通过一些Maven命令获得当前的默认值吗?
在多模块项目中,如何指定要在所有子模块中执行插件目标,而不是在父项目中执行? 有<pluginManagement> ,但只定义了执行的configuration – 子模块仍然需要引用插件来执行目标: […]然而,这只能configuration插件,这些插件实际上是在子插件元素中引用的。 ( POM参考 ) 任何其他方式来实现这一目标? 更新:我已经根据帕斯卡尔的build议尝试过了: <!– … –> <packaging>pom</packaging> <modules> <module>child</module> </modules> <build> <plugins> <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <phase>integration-test</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <!– … –> 即使jar目标绑定到integration-test阶段,这仍然会为父项目生成一个.jar。