Maven 2 Maven从本地文件夹复制jar文件

Maven 2 Maven从本地文件夹复制jar文件,maven-2,seam,Maven 2,Seam,我正在使用seam开发我的应用程序,并在weblogic 10.1MP上运行它 使用maven2构建应用程序,但在任何存储库中都找不到jboss-seam-wls-compatible.jar文件。 在maven中,我如何将这个jar从本地文件夹复制到目标/WEB-INF/lib文件夹。您可以使用安装插件将jar安装到本地存储库,然后您可以声明对工件的依赖关系为正常,war插件会自动将其打包到war中 如果您有一个远程存储库,您可以使用部署插件将jar部署到该存储库,然后您的队友也可以访问jar

我正在使用seam开发我的应用程序,并在weblogic 10.1MP上运行它 使用maven2构建应用程序,但在任何存储库中都找不到jboss-seam-wls-compatible.jar文件。
在maven中,我如何将这个jar从本地文件夹复制到目标/WEB-INF/lib文件夹。

您可以使用安装插件将jar安装到本地存储库,然后您可以声明对工件的依赖关系为正常,war插件会自动将其打包到war中

如果您有一个远程存储库,您可以使用部署插件将jar部署到该存储库,然后您的队友也可以访问jar

关于信息,有一种方法可以使这个工件在central上可用


根据您的评论进行更新。我建议不要这样做,因为这不是一个好的做法,但是如果您必须在项目的源代码结构中托管jar,您可以将其放在src/main/lib下,并使用antrun插件将其复制到WEB-INF/lib

例如:

  <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>process-resources</phase>
        <configuration>
          <tasks>
            <copy todir="${project.build.directory}/WEB-INF/lib">
              <fileset dir="src/main/lib"/>
            </copy>
          </tasks>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

maven antrun插件
过程资源
跑

在Maven中执行此操作的正确方法是将其安装到存储库(远程或本地)中

但是,在某些情况下,本地存储库不太可取。例如,您在许多机器上运行Maven,而不希望手动安装它

在这些罕见的情况下,我只是使用反模式将jar检查到版本控制中。我甚至懒得把它安装到本地存储库中,因为它添加了另一个步骤,并制作了JAR的另一个副本。我就是这样直接用罐子

            <dependency>
                    <groupId>local</groupId>
                    <artifactId>homeless-jar</artifactId>
                    <version>1.0</version>
                    <scope>system</scope>
                    <systemPath>${basedir}/lib/homeless.jar
                    </systemPath>
            </dependency>

地方的
无家可归的罐子
1
系统
${basedir}/lib/house.jar
编辑:${basedir}由Maven定义。它是Maven项目的基本目录,pom.xml在其中。我的例子不清楚。看这个,

            <dependency>
                    <groupId>any-id</groupId>
                    <artifactId>any-name</artifactId>
                    <version>1.0</version>
                    <scope>system</scope>
                    <systemPath>${basedir}/src/main/lib/homeless.jar
                    </systemPath>
            </dependency>

任何身份证
任何名字
1
系统
${basedir}/src/main/lib/house.jar

我的目的不是创建本地存储库。我想知道是否有任何方法可以使用maven将这个jar从我的src或resource或任何其他文件夹复制到目标文件夹您已经有一个本地存储库如果您使用maven,就不需要创建一个。默认情况下,它位于~/.m2/repository@Rich,我的方法与盒子的目录结构无关,甚至比你的antrun建议的还要少${basedir}是由Mavens定义的,因此它只与项目的目录结构相关联,这就是Maven的全部内容吗?谢谢,这是有效的。但正如您所建议的,我将查看本地存储库stuff@unknown,如果你发现一篇文章对你有帮助,你可以接受或投票支持它。我怎么知道basedir对我的项目有什么帮助?