Maven是伟大的。 这主要是让我出去罐子依赖地狱的由指定依赖包的版本pom
的配置,并自动应用。 它也有通过M2E与Eclipse大整合,这样的事情在一个IDE无缝协作。
这是在全球范围已知Maven依赖所有伟大。 然而,有时,有需要包括在一个项目,是不是在Maven回购可用的库。 在这种情况下,我通常将它们添加到lib/
在我的项目目录。 只要他们在类路径中那么事情编译。
然而,问题是让他们自动包含导入项目时。 我已经容忍了这个问题,半生不熟的修复和黑客的时间太长了。 每当有人安装这个项目,我必须告诉他们手动添加的罐子在lib/
自己的Eclipse构建路径,使所有的错误消失。 像下面这样:
我在寻找一种方法来与有工作的方式自动执行此过程mvn
命令行程序和Eclipse:更多的Eclipse的重视,因为它是不错的,当你导入它们只是编译项目。
我不想就此成立回购服务器,也没有得到,将保证在当地设立任何任何内部专有组件。 我只是有一些jar文件,其中开发商不使用Maven; 我想和他们一起编译...我就应该能够将其包含在我的软件的分发,对不对?
我真的很为实现这一点,也将在Eclipse中没有什么大惊小怪的工作,以合理的方式。 这是一个解决方案 ,我发现有前途的,但肯定似乎并没有成为一个权威的解决这个问题。 来接近唯一的其他东西是Maven的addjars-插件 ,它的工作不错,但仅在命令行上。 这个插件是不是坏的,有一个非常合理的配置:
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.basedir}/lib/java-aws-mturk</directory>
</resource>
<resource>
<directory>${project.basedir}/lib/not-in-maven</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
然而,试图让它在Eclipse运行包括添加约生命周期的映射下烂摊子你pom.xml
,这是我从来没有得到工作; 我甚至不认为它被配置为实际到Eclipse构建路径添加任何东西。
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
com.googlecode.addjars-maven-plugin
</groupId>
<artifactId>
addjars-maven-plugin
</artifactId>
<versionRange>
[1.0.5,)
</versionRange>
<goals>
<goal>add-jars</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>