java - 如何在 Maven 项目中包含本地 jar 文件

标签 java maven-2 netbeans jar

我不想在 Maven 存储库(本地/远程)中安装一些 jar。特别是我有一些 jar 文件位于

c:\work\projects\myapp\src\main\webapp\WEB-INF\lib\test.jar

c:\work\projects\myapp\src\main\webapp\WEB-INF\lib\test2.jar

使用 NetBeans 打开/编辑时如何将它们包含到我的项目中?

最佳答案

虽然使用 systemPath 引用是可行的,但最好创建一个本地存储库。幸运的是,这很容易做到。

创建一个本地存储库,其中包含公共(public)存储库中不可用的 jars

注意:我使用 Eclipse,因此某些说明是特定于 Eclipse 的。大多数都很容易推广。


假设

  • 这个 jar 是由 Maven 在另一个项目中创建的,具有以下内容...

    <groupId>com.foo</groupId>
    <artifactId>test</artifactId>
    <version>0.1.1</version>
    <packaging>jar</packaging>
    

在项目中(想要访问 jars)

  • 在项目基础目录之外创建 repo 目录
  • 对于要在本地访问的每个 jar...
    • 为 groupID 的每个级别添加目录(例如/repo/com/foo)
    • 添加不带版本的 jar 名称(又名 artifactId)(例如/repo/com/foo/test)
    • 为 jar 的版本添加目录(例如/repo/com/foo/test/0.1.1)
    • 将 jar 放入该目录(例如/repo/com/foo/test/0.1.1/test-0.1.1.jar)

在 pom.xml 中(对于想要访问 jars 的项目)

  • 定义本地仓库

    <repositories>
      <repository>
        <id>data-local</id>
        <name>data</name>
        <url>file://${project.basedir}/repo</url>
      </repository>
    </repositories>
    
  • 添加对本地jar的依赖。从我们上面的例子来看,这将是......

    <dependency>
      <groupId>com.foo</groupId>
      <artifactId>test</artifactId>
      <version>0.1.1</version>
    </dependency>
    

重建

  • Rt 点击 pom.xml -> 运行方式 -> Maven 构建

关于java - 如何在 Maven 项目中包含本地 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3765903/

相关文章:

java - 如何强制 Maven 从中央存储库下载 maven-metadata.xml?

maven-2 - 如何使用 Maven 包含二级依赖项

java - 完成的 Java 项目,现在创建 jar 或 .exe 文件(带数据库)

java - 更改 NodeTree 的弹出菜单

java - 除了使用 while 循环之外,如何以另一种方式计算模数?

java - 我的智能手机上只收到一个数据包

java - 无法将 ImageIcon 添加到 JFrame

java - 我的应用程序布局与 Activity_main 布局设计不同

Java 无法加载或找到主类