当前位置: 首页 > 面试题库 >

Maven通过systemPath / system添加jar,但未添加到war或其他任何地方

岳涵煦
2023-03-14
问题内容

我想通过systemPath从相对于我的项目目录结构的本地文件系统添加jar文件,而不是在远程存储库上。我添加了依赖声明,但是maven并没有做任何其他事情。

在下面的声明中,我希望将jar文件复制到目标web-inf /
lib目录中,并作为war文件的一部分进行jared。目前,这还没有发生。我如何将jar文件复制到我的war文件中?

这是调试maven模式的输出:

DEBUG] cglib:cglib-nodep:jar:2.2:test (setting scope to: compile)^M
DEBUG] Retrieving parent-POM: org.objenesis:objenesis-parent:pom:1.2 for project: null:objenesis:ja
DEBUG]   org.objenesis:objenesis:jar:1.2:test (selected for test)^M
DEBUG]   org.javap.web:testRunWrapper:jar:1.0.0:system (selected for system)^M
DEBUG] Plugin dependencies for:
...


<dependency>
    <groupId>org.javap.web</groupId>
    <artifactId>testRunWrapper</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/testRunWrapper.jar</systemPath>
</dependency>
<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>                 
        <webResources>
            <resource>
                <directory>WebContent</directory>
            </resource>
        </webResources>
    </configuration>
</plugin>

问题答案:

好的,我这样做了:请注意底部的目录结构。使用下面的方法,相对于其他jar,来自相对项目路径的jar文件被视为一等公民。下面的清单更正了我的原始问题。使用下面列出的pom.xml,将jar文件复制到我的目标目录。

<repositories>
    <repository>
        <id>JBoss</id>
        <name>JBoss Repository</name>
        <layout>default</layout>
        <url>http://repository.jboss.org/maven2</url>
    </repository>

    <repository>
       <id>my-local-repo</id>
       <url>file://${basedir}/lib/repo</url>
    </repository>
</repositories>

<dependency>
    <groupId>testRunWrapper</groupId>
    <artifactId>testRunWrapper</artifactId>
    <version>1.0.0</version>            
</dependency>
$ find repo
repo
repo/testRunWrapper
repo/testRunWrapper/testRunWrapper
repo/testRunWrapper/testRunWrapper/1.0.0
repo/testRunWrapper/testRunWrapper/1.0.0/testRunWrapper-1.0.0.jar


 类似资料:
  • 当我在使用JavaSpringHibernateStruts2Eclipse项目时。我使用buildpath->addjar选项从工作区内部的文件夹中添加JAR。即使类可用,也会显示class not found异常。 如果我把这些jar文件放在WEB-INF/lib文件夹中,一切正常。我应该将这些文件保存在lib中吗?我可以将这些jar包含在一个单独的文件夹中,然后使用eclipse confi

  • 问题内容: 我有一个依赖 然后我执行。添加了所有本机文件和远程Maven库,但是没有此jar。 更新 当我尝试通过运行应用程序时。它返回一个错误,指出上述依赖项中没有任何类(NoClassDefFoundError:de.matthiasmann.twl.ForExample)。我想将这个jar中的类添加到myjar.jar中(与maven使用远程依赖项相同)。我如何配置Maven来做到这一点?

  • 我有一个jar文件,其中有一些映射文件,我想添加作为hibernate.cfg.xml中的映射资源,因为我在org.hibernate.cfg.comfiguration中添加了jar。 在hibernate.cfg.xml中我添加了… 当我执行java应用程序时,我得到了这个异常... 有人能帮我吗?

  • 问题内容: 如何将本地jar文件添加到Maven项目? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→

  • 问题内容: 如何直接在项目的库源代码中添加本地jar文件(尚未成为Maven存储库的一部分)? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→

  • 如何直接在项目的库源中添加本地jar文件(还不是Maven存储库的一部分)?