【问题标题】:Using IDEA with maven2, how to add a non-maven .jar?使用IDEA和maven2,如何添加非maven .jar?
【发布时间】:2011-03-15 15:35:20
【问题描述】:

我有一个 .jar,我想将它包含在使用 maven2 (pom.xml) 的 IDEA Web 应用程序项目中。

如何将 .jar 添加到不使用 maven 的项目中?

【问题讨论】:

    标签: java maven-2 intellij-idea


    【解决方案1】:

    尝试猜测问题是什么:

    1) 你有一个带有 jar foo.jar 的 maven 项目 A
    2) 您有一个非 Maven 项目 B,您想在其中使用相同的 jar(不使用 Maven)
    3)你在窗户上?

    如果这是真的,那么:

    去c:\documents and settings\your_username\.m2\name_of_jar,抓取jar,粘贴到项目B的WEB-INF/lib目录下

    【讨论】:

      【解决方案2】:

      最简单的方法是使用maven:install-file将jar安装到你的本地仓库中,如下(从the docs偷来的:

      mvn install:install-file -Dfile=path-to-non-maven.jar \
                            -DgroupId=some-id \
                            -DartifactId=some-artifact \
                            -Dversion=some-version \
                            -Dpackaging=jar
      

      然后像任何其他依赖项一样将其添加到您的 POM 中。如果需要与多人共享,您可以考虑设置一个本地实例,例如 Nexus 或 Artifactory(我们在我工作的地方使用 Artifactory,效果很好)。

      【讨论】:

        【解决方案3】:

        maven install:install-file 非常适合将本地 JAR 添加到缓存中,但如果您在外部使用存储库(即 Archiva 或 Nexus),那么最好使用 " mvn deploy:deploy-file" - 该命令的类似参数。

        仅在本地安装意味着如果您出于某种原因清除本地缓存(我已经多次这样做以解决本地缓存损坏的这个或那个问题),那么您也会丢失本地 JAR 并且需要记得重新添加一次。如果它通过 Nexus 或 Archiva 在本地 DSL 存储库中,那么您的状态很好 - 只需将生成的 groupId、artifactId 添加到 POM 中并继续。

        【讨论】:

          【解决方案4】:

          你基本上有三个选择:

          • 使用 install:install-file 在本地存储库中安装 jar(请参阅 Guide to installing 3rd party JARs)。这非常简单明了,但这会使您的 POM 不可移植。如果您独自一人并且不打算分发您的 pom.xml,这可能是一个选择。

          • 使用 deploy:deploy-file 在公司存储库中部署 jar。这当然是企业环境中的理想和首选方案。

          • 如果您不使用公司存储库但仍在团队中工作,请setup a file based repository 并通过您的源存储库共享。

          【讨论】:

            【解决方案5】:

            Google addjars maven 插件是个好主意。这可以通过以下步骤来完成:

            1. 将所有依赖项添加到lib文件夹代码库。

            2. 将 google addjars 插件添加到<build>

              <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>${basedir}/lib</directory>
                                      </resource>
                                  </resources>
                              </configuration>
                          </execution>
                      </executions>
                  </plugin>
              
            3. mvn compile 现在将创建一个本地 repo 并将所有 jars 添加为依赖项。然后mvn compile 将发挥魅力。

            4. 让idea解析依赖去module settings -&gt; modules -&gt; dependencies添加lib文件夹。

            参考:https://code.google.com/archive/p/addjars-maven-plugin/issues

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-08-06
              • 1970-01-01
              • 1970-01-01
              • 2018-09-22
              • 1970-01-01
              • 2021-11-05
              相关资源
              最近更新 更多