【问题标题】:How to add non-jar files to classpath in Maven project?如何在 Maven 项目中将非 jar 文件添加到类路径?
【发布时间】:2013-11-24 09:39:48
【问题描述】:

我有一个更大的项目,其中包含多个模块,全部由 Maven 和 Spring 组织。

现在,我得到了一个“封闭源”JAR 和两个附加文件(基本上是 2 个文本文件,其中包含 JAR 中的类所需的一些信息),我想将它们添加到我的项目中。

JAR 和这两个文件附带的手册只说“将 JAR 添加为 lib”和“将 2 个文件添加到您的类路径”。我(或我的 IDE)已经设法添加了 JAR,但是如何以及在哪里添加其他 2 个文件?

提前致谢, 考利克

编辑:

我的一位同事似乎已经将 JAR 和这两个文件添加到了存储库中。我只是不知道,因为他这周请了病假,之前没有告诉我。 :-/

【问题讨论】:

    标签: java spring maven jar classpath


    【解决方案1】:

    您应该将文件放在 src/main/resources 文件夹中,然后它们将位于类路径中。至于jar,您应该将其作为依赖项添加到pom中,例如

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

    【讨论】:

    • 我猜你的答案到目前为止是正确的。只是无法测试它(见我上面的编辑)。还是谢谢!
    【解决方案2】:

    您可以将 jar 文件上传到本地存储库,然后像在 maven 配置中的常用库一样引用它。您可以从命令行上传文件:

    mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
        -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
    

    有关详细信息,请参阅documentation

    【讨论】:

    • 有没有办法使用 UI 来做到这一点,例如通过使用我的 IDE (Netbeans)?我是命令行的菜鸟,因为我的问题与工作有关,所以我不想在这里搞砸事情。 ;-)
    【解决方案3】:

    据我所知,在 Netbeans 中没有特定的方法可以将资源文件添加到项目中,但只需使用您喜欢的文件管理器将文件复制到 src/main/resources 目录中即可。 Netbeans 将立即识别项目中的新文件并更新视图。

    【讨论】:

      【解决方案4】:

      我必须将 2 个 *.dat 文件添加到 src/main/resources 目录,并将以下几行添加到 pom.xml

      <resources>
          <resource>
              <directory>src/main/resources</directory>
                  <includes>
                      <include>*.dat</include>
                  </includes>
              </resource>
          </resources>
      </resources>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-27
        • 2010-12-03
        • 1970-01-01
        • 2013-11-25
        • 2011-03-25
        • 1970-01-01
        • 2017-09-18
        相关资源
        最近更新 更多