Maven和Eclipse:向项目添加非Maven或外部jar的可靠方法?

毛泽东:

Maven很棒。通过在pom配置中指定依赖包的版本,并自动应用它们,通常可以使我摆脱jar依赖它还通过m2e与Eclipse进行了很好的集成,因此在IDE中可以无缝运行。

这对于Maven全局已知的依赖项都非常有用。但是,有时,某些项目需要包含在Maven仓库中不可用的项目中。在这种情况下,我通常将它们添加到lib/项目中目录中。只要它们在类路径中,就可以编译。

但是,问题在于在导入项目时会自动将它们包括在内。我已经忍受了半生不熟的修复程序和hacks这个问题,时间太长了。每次有人安装该项目时,我都必须告诉他们将jar手动添加lib/到其Eclipse构建路径中,以便消除所有错误。类似于以下内容:

在此处输入图片说明

我正在寻找一种可以与mvn命令行程序和Eclipse 一起使用的方式来自动执行此过程的方法:更多地强调Eclipse,因为导入时仅编译它们的项目真是太好了。

我不想为此设置回购服务器,也没有任何内部专有组件可以保证在本地进行任何设置。我只有一些jar文件,开发人员不使用Maven。我想和他们一起编译...我应该能够将它们包括在我的软件发行版中,对吗?

我确实在寻找一种合理的方法来实现这一点,该方法也可以在Eclipse中正常使用。这是我发现有希望的一种解决方案,但似乎绝对没有解决此问题的权威方法。唯一接近的另一件事是maven-addjars-plugin,它可以正常工作,但仅在命令行上有效。这个插件还不错,并且配置合理:

<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>
叶夫根尼(Evgeniy Dorofeev):

1)您可以使用系统范围依赖性

    <dependency>
        <groupId>test</groupId>
        <artifactId>x</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/x.jar</systemPath>
    </dependency>

2)您可以将x.jar复制为本地Maven存储库

仓库/测试/x/1.0/x-1.0.jar

并添加一个依赖项

    <dependency>
        <groupId>test</groupId>
        <artifactId>x</artifactId>
        <version>1.0</version>
    </dependency>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何添加本地项目(非JAR)作为依赖于Maven项目

无法在Spring Boot Maven项目中集成外部jar

Maven和Eclipse:在Maven库项目中加载默认属性,并在可运行的Jar中使用它

Maven:添加外部资源

Maven / Eclipse JPA项目和实体生成?

结合使用IDEA和maven2,如何添加非maven .jar?

如何在Maven项目中向JSP外部添加JavaScript文件?

向Maven项目添加本地依赖项的最佳方法

Eclipse-如何将项目作为Maven依赖项添加到另一个项目中,而不是作为jar添加?

在基于Maven的JSF项目中添加外部库的正确方法

如何添加依赖到Maven项目?(如何从外部jar文件中找到GroupID / ArtifactID)

Maven阴影jar用作外部项目依赖项

Eclipse Maven项目结构

如何在不使用gradle或Maven或Eclipse的情况下将jar文件添加到Java项目

使用Maven将JAR文件添加到Eclipse中的项目中

使用Maven着色将外部jar添加到项目

如何使用Maven Shade插件向Jar添加资源

Maven / Eclipse外部jar疑难解答

如何在Eclipse中将Java Maven项目依赖项正确添加到Grails Maven项目

打包Maven项目以及外部jar和特性文件以进行GIT上传

Maven向项目添加依赖项

将非托管依赖添加到 Eclipse Maven 项目的类路径

使用 bazel 从 Maven 导入和使用外部 jar 文件

使用外部 jar 打包 maven 项目

如何从Maven项目中的外部jar读取属性文件

Android studio 在磁盘上添加外部 maven 项目作为依赖

在 Maven 中添加外部 JAR 导致 NoClassDefFoundError

无法向转换为 maven 的 Spring 项目添加依赖项

在 Eclipse 中为另一个 Maven 项目导入 Maven 项目 jar